flutter setState:如何使用数组更新?

时间:2019-08-18 06:50:14

标签: flutter

我有一个用于显示List的小对象数组。我现在在做什么:

final _wordsList = <Word>[];
String triggerRerender;

getSharedText() async {
    var sharedData = await platform.invokeMethod("getSharedText");
    if (sharedData != null) {
      _wordsList.add(Word(sharedData));

      setState(() {
        triggerRerender = sharedData;
      });
    }
  }

,那感觉很疯狂。我不应该通过更改数组而不是通过某些“触发”原语来触发重新渲染吗?

1 个答案:

答案 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))
    });
  }
}