From 7474064c90becdfe5328cf081e9915fecec31596 Mon Sep 17 00:00:00 2001 From: Fernando Ruiz Date: Sun, 6 Oct 2019 22:45:04 -0500 Subject: [PATCH] Adding Const to see how objects are render and how what types need to be re-render --- expenses_app/lib/main.dart | 2 ++ expenses_app/lib/widgets/chart.dart | 5 ++++- expenses_app/lib/widgets/chart_bar.dart | 5 +++-- expenses_app/lib/widgets/transaction_list.dart | 11 ++++++----- 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/expenses_app/lib/main.dart b/expenses_app/lib/main.dart index 8dcbf5e..71f333d 100644 --- a/expenses_app/lib/main.dart +++ b/expenses_app/lib/main.dart @@ -121,6 +121,8 @@ class _MyHomePageState extends State { @override Widget build(BuildContext context) { + print('build() myHomePageState'); + final mediaQuery = MediaQuery.of(context); final isLandscape = mediaQuery.orientation == Orientation.landscape; final PreferredSizeWidget appBar = Platform.isIOS diff --git a/expenses_app/lib/widgets/chart.dart b/expenses_app/lib/widgets/chart.dart index 99ba5f3..0960a61 100644 --- a/expenses_app/lib/widgets/chart.dart +++ b/expenses_app/lib/widgets/chart.dart @@ -7,7 +7,9 @@ import 'package:intl/intl.dart'; class Chart extends StatelessWidget { final List recentTransactions; - Chart(this.recentTransactions); + Chart(this.recentTransactions){ + print('Constructor Chart'); + } //getters are properties calculated automatically List> get groupedTransactionValues { @@ -41,6 +43,7 @@ class Chart extends StatelessWidget { @override Widget build(BuildContext context) { + print('build() Chart'); return Card( elevation: 6, margin: EdgeInsets.all(20), diff --git a/expenses_app/lib/widgets/chart_bar.dart b/expenses_app/lib/widgets/chart_bar.dart index 33a7781..319d98c 100644 --- a/expenses_app/lib/widgets/chart_bar.dart +++ b/expenses_app/lib/widgets/chart_bar.dart @@ -5,11 +5,12 @@ class ChartBar extends StatelessWidget { final String label; final double spendingAmount; final double spendingPctOfTotal; - - ChartBar(this.label, this.spendingAmount, this.spendingPctOfTotal); + // to make this a const constructor, the properties will need to be final. + const ChartBar(this.label, this.spendingAmount, this.spendingPctOfTotal); @override Widget build(BuildContext context) { + print('build() chartBar '); return LayoutBuilder( builder: (ctx, constraints) { return Column( diff --git a/expenses_app/lib/widgets/transaction_list.dart b/expenses_app/lib/widgets/transaction_list.dart index 1ef96b6..ba89267 100644 --- a/expenses_app/lib/widgets/transaction_list.dart +++ b/expenses_app/lib/widgets/transaction_list.dart @@ -10,6 +10,7 @@ class TransactionList extends StatelessWidget { @override Widget build(BuildContext context) { + print('Build() for Transaction list'); return transactions.isEmpty ? LayoutBuilder(builder: (ctx, contraints) { return Column( @@ -18,7 +19,7 @@ class TransactionList extends StatelessWidget { "No Transactions", style: Theme.of(context).textTheme.title, ), - SizedBox( + const SizedBox( height: 10, ), Container( @@ -41,7 +42,7 @@ class TransactionList extends StatelessWidget { leading: CircleAvatar( radius: 30, child: Padding( - padding: EdgeInsets.all(6), + padding: const EdgeInsets.all(6), child: FittedBox( child: Text('\$${transactions[index].amount}'), ), @@ -57,12 +58,12 @@ class TransactionList extends StatelessWidget { trailing: MediaQuery.of(context).size.width > 460 ? FlatButton.icon( textColor: Theme.of(context).errorColor, - label: Text('Delete'), - icon: Icon(Icons.delete), + label: const Text('Delete'), + icon: const Icon(Icons.delete), onPressed: () => deleteTx(transactions[index].id), ) : IconButton( - icon: Icon(Icons.delete), + icon: const Icon(Icons.delete), color: Theme.of(context).errorColor, onPressed: () => deleteTx(transactions[index].id), ),