我无法理解为什么我的 Stateful 小部件在重建后没有更新状态。我有一个有状态的小部件,负责每秒递减一个计数器,因此它收到一个初始值,我将此初始值传递给状态并开始递减它。
它还具有一个按钮,当按下该按钮时,会向我的块发送一个事件,该块会使用新的初始值重建有状态小部件,事实是,它确实发送并更新初始值,但计数器继续递减旧值,我没有知道为什么。这是代码示例:
小部件
void main() => runApp(
BlocProvider(
create: (context) => TBloc(),
child: MaterialApp(
home: Scaffold(
body: BlocBuilder<TBloc, BState>(
builder: (context, state) {
if (state is BState) {
return Column(
children: [
Counter(state.value),
FlatButton(
child: Text("tap"),
onPressed: () =>
BlocProvider.of<TBloc>(context).add(BEvent(200)),
),
],
);
}
return Container();
},
),
),
),
),
);
class Counter extends StatefulWidget {
final int initialValue;
Counter(this.initialValue);
@override
CounterState createState() => CounterState(this.initialValue);
}
class CounterState extends State<Counter> {
Timer timer;
int value;
CounterState(this.value);
@override …Run Code Online (Sandbox Code Playgroud)