Skip to content

Instantly share code, notes, and snippets.

View vlasentiy's full-sized avatar

Vlas Artanov vlasentiy

View GitHub Profile
@vlasentiy
vlasentiy / example2.dart
Last active September 3, 2020 12:05
example2
import 'package:flutter/material.dart';
void main() =>
runApp(MaterialApp(home: Scaffold(body: Center(child: MyWidget()))));
Future<String> callAsyncFetch() =>
Future.delayed(Duration(seconds: 3), () => "hi bro !");
class MyWidget extends StatelessWidget {
@override
@vlasentiy
vlasentiy / example0.dart
Last active September 3, 2020 12:06
example0
import 'package:flutter/material.dart';
void main() =>
runApp(MaterialApp(home: Scaffold(body: Center(child: MyWidget()))));
Future<String> callAsyncFetch() =>
Future.delayed(Duration(seconds: 3), () => "hi bro !");
class MyWidget extends StatelessWidget {
@vlasentiy
vlasentiy / example1.dart
Created September 3, 2020 12:08
example1
import 'package:flutter/material.dart';
void main() =>
runApp(MaterialApp(home: Scaffold(body: Center(child: MyWidget()))));
Future<String> callAsyncFetch() =>
Future.delayed(Duration(seconds: 3), () => "hi bro !");
class MyWidget extends StatelessWidget {
@vlasentiy
vlasentiy / FutureBuilder.dart
Created September 3, 2020 12:18
FutureBuilder
// FutureBuilder *is* a stateful widget
class FutureBuilder<T> extends StatefulWidget {
// it takes in a `future` and a `builder`
const FutureBuilder({
this.future,
this.builder
});
final Future<T> future;
@vlasentiy
vlasentiy / example3.dart
Created September 3, 2020 12:45
Example3
import 'package:flutter/material.dart';
main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(context) {
return StreamBuilder<void>(
@vlasentiy
vlasentiy / FutureProvider.dart
Created September 3, 2020 12:49
FutureProvider
class MyWidget extends StatelessWidget {
// Future<String> callAsyncFetch() => Future.delayed(Duration(seconds: 3), () => "hi bro");
@override
Widget build(BuildContext context) {
// print('building widget');
return FutureProvider<String>(
create: (_) {
// print('calling future');
return callAsyncFetch();
},
@vlasentiy
vlasentiy / HookWidget.dart
Last active September 3, 2020 12:51
HookWidget
class MyWidget extends HookWidget {
@override
Widget build(BuildContext context) {
final future = useMemoized(() {
// Future<String> callAsyncFetch() => Future.delayed(Duration(seconds: 3), () => "hi bro");
callAsyncFetch(); // or your own async function
});
return FutureBuilder<String>(
future: future,
builder: (context, snapshot) {