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()函数的内部情况。您可以随时设置状态并在以后触发函数,但不建议这样做,因为我认为执行这些操作的方式是异步的