如何在<int>颤振钩子中使用列表状态?



我有一个使用颤振挂钩的非常简单的例子:

class PositionedTiles extends HookWidget {
@override
Widget build(BuildContext context) {
final counterList = useState<List<int>>([1,2,3,4,5]);
return Scaffold(
body: Text("Counter: ${counterList.value}"),
floatingActionButton: FloatingActionButton(
onPressed: () => counterList.value.removeAt(0),
child: const Icon(Icons.sentiment_very_satisfied)),
);
);
}

因此,单击floatingActionButton后,打印的列表(counterList(不会更改。我的结论是,重建没有被调用。

为什么hook没有看到列表已经更改?

在调用onPressed以重建后,如何发出列表(counterList(已更改的信号?

要更新状态,需要重新分配列表。

onPressed: () {
counterList.value = [...counterList.value..removeAt(0)];
log("${counterList.value}");
},

相关内容

  • 没有找到相关文章

最新更新