【发布时间】:2018-07-21 13:56:12
【问题描述】:
我已经定义了我的应用程序,并将counter 变量作为构造函数传递,如下所示:
class AppThreePlusThree extends StatelessWidget {
@override
Widget build(BuildContext context) {
var game = new Game();
var counter = 265;
return new GameRedux(
counter: counter,
child: new MaterialApp(
title: '3 + 3',
theme: new ThemeData(
primarySwatch: Colors.blue,
),
home: new Scaffold(
...
...
new Text('$counter'),
...
我修改了GameRedux里面的counter,我看到了变量的变化,但是它不会影响UI中的Text,为什么库存为零?
【问题讨论】:
-
您需要调用您要重建的组件的
setState(() => counter = newValue)。如果您调用父后代的setState(),也将重建。如果您对后代调用setState(),这不会影响父母 - 这是您正在处理的情况。 -
@GünterZöchbauer 感谢您的回答,对于令人尴尬的请求感到抱歉,但是您能否提供少量示例代码作为答案,以便我接受您?我应该把 setState() 放在哪里?