Skip to content

Instantly share code, notes, and snippets.

@tranductam2802
Created April 19, 2022 05:17
Show Gist options
  • Save tranductam2802/f9b59d5a9b6e4c294262f78949fff01d to your computer and use it in GitHub Desktop.
Save tranductam2802/f9b59d5a9b6e4c294262f78949fff01d to your computer and use it in GitHub Desktop.
import 'package:flutter/material.dart';
void main() {
runApp(const App());
}
const List<Widget> childrenConst = [
StatefulConst(),
StatelessConst(),
];
class App extends StatelessWidget {
const App({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return const MaterialApp(
home: StatefulPage(),
);
}
}
class StatefulPage extends StatefulWidget {
const StatefulPage({Key? key}) : super(key: key);
@override
StatefulPageState createState() => StatefulPageState();
}
class StatefulPageState extends State<StatefulPage> {
bool isRow = false;
@override
Widget build(BuildContext context) {
print('Build: StatefulPageState');
return Scaffold(
appBar: AppBar(title: const Text('Sample const')),
body: Center(
child: isRow
? Column(children: childrenConst)
: Row(children: childrenConst),
),
floatingActionButton: FloatingActionButton(
child: const Icon(Icons.add),
onPressed: () => setState(() {
isRow = !isRow;
}),
),
);
}
}
class StatefulConst extends StatefulWidget {
const StatefulConst({Key? key}) : super(key: key);
@override
StatefulConstState createState() => StatefulConstState();
}
class StatefulConstState extends State<StatefulConst> {
@override
Widget build(BuildContext context) {
print('Build: StatefulConstState');
return Container(
width: 10,
height: 10,
color: Colors.amber,
);
}
}
class StatelessConst extends StatelessWidget {
const StatelessConst({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
print('Build: StatelessConst');
return Container(
width: 10,
height: 10,
color: Colors.purple,
);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment