Flutter 颤振设置状态:如何使用数组更新?

Flutter 颤振设置状态:如何使用数组更新?,flutter,Flutter,我有一个用于显示列表的小对象数组。我现在做的是: final _wordsList = <Word>[]; String triggerRerender; getSharedText() async { var sharedData = await platform.invokeMethod("getSharedText"); if (sharedData != null) { _wordsList.add(Word(sharedData));

我有一个用于显示列表的小对象数组。我现在做的是:

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

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

      setState(() {
        triggerRerender = sharedData;
      });
    }
  }
final[u wordsList=[];
字符串触发器;
getSharedText()异步{
var sharedData=await platform.invokeMethod(“getSharedText”);
if(sharedData!=null){
_添加(Word(sharedData));
设置状态(){
TriggerRender=sharedData;
});
}
}

这感觉很疯狂。我不应该通过更改数组而不是通过一些“触发器”原语来触发rerender吗?

我认为,您不需要使用
triggerRenderer

以下是医生们说的:

无论何时更改状态对象的内部状态,都要 传递给setState的函数中的更改

只需更新
setState
功能的内部的数据即可:

final _wordsList = <Word>[];

getSharedText() async {
  var sharedData = await platform.invokeMethod("getSharedText");
  if (sharedData != null) {
    setState(() {
      _wordsList.add(Word(sharedData))
    });
  }
}
final[u wordsList=[];
getSharedText()异步{
var sharedData=await platform.invokeMethod(“getSharedText”);
if(sharedData!=null){
设置状态(){
_添加(Word(sharedData))
});
}
}

我想你不需要一个
触发器

以下是医生们说的:

无论何时更改状态对象的内部状态,都要 传递给setState的函数中的更改

只需更新
setState
功能的内部的数据即可:

final _wordsList = <Word>[];

getSharedText() async {
  var sharedData = await platform.invokeMethod("getSharedText");
  if (sharedData != null) {
    setState(() {
      _wordsList.add(Word(sharedData))
    });
  }
}
final[u wordsList=[];
getSharedText()异步{
var sharedData=await platform.invokeMethod(“getSharedText”);
if(sharedData!=null){
设置状态(){
_添加(Word(sharedData))
});
}
}

看起来如此,谢谢。有趣的是,如果我这样做的话,它也能工作:
\u wordsList.add(Word(sharedData));setState((){})。因此,
setState()
似乎没有查看它的callbacksetState触发build()函数的内部情况。您可以随时设置状态并在以后触发函数,但不建议这样做,因为执行这些操作的方式是异步的,我想这已经出现了,谢谢。有趣的是,如果我这样做的话,它也能工作:
\u wordsList.add(Word(sharedData));setState((){})。因此,
setState()
似乎没有查看它的callbacksetState触发build()函数的内部情况。您可以随时设置状态并在以后触发函数,但不建议这样做,因为我认为执行这些操作的方式是异步的