大多数基本的setState函数不会重新呈现我的Web应用程序。谁能告诉我这个setState代码有什么问题吗?类似的代码在我的android和ios应用程序上运行得很好。
Widget build(BuildContext context) {
Map<String, dynamic> testMap = {"one": 5, "two": 3};
String wow = "wow";
return Scaffold(
body: Column(
children: [
Text(testMap.toString()),
Text(wow),
ElevatedButton(
onPressed: () {
setState(() {
testMap = SplayTreeMap<String, dynamic>.from(testMap, (k1, k2) => testMap[k1].compareTo(testMap[k2]));
wow = "hey";
});
print(testMap.toString());
},
child: const Text("sort"))
],
),
);
}
我提前道歉,我知道这个问题已经被问了很多次,但因为我甚至找不到任何问题与我的代码,我需要帮助。
1条答案
按热度按时间voase2hg1#
当您使用
setState
时,它将重建小部件,这意味着build将再次被调用。在build方法中,每次执行build时都要分配变量,这就是为什么值不会改变的原因。
你得把那个拿出来。