我有一个用于显示List的小对象数组。我现在在做什么:
final _wordsList = <Word>[];
String triggerRerender;
getSharedText() async {
var sharedData = await platform.invokeMethod("getSharedText");
if (sharedData != null) {
_wordsList.add(Word(sharedData));
setState(() {
triggerRerender = sharedData;
});
}
}
,那感觉很疯狂。我不应该通过更改数组而不是通过某些“触发”原语来触发重新渲染吗?
答案 0 :(得分:2)
我认为您不需要triggerRenderer
。
文档内容如下:
每当更改State对象的内部状态时, 更改传递给setState的函数
只需更新setState
函数中的数据内部:
final _wordsList = <Word>[];
getSharedText() async {
var sharedData = await platform.invokeMethod("getSharedText");
if (sharedData != null) {
setState(() {
_wordsList.add(Word(sharedData))
});
}
}