我知道这两个是一样的。
counter++; setState((){});
setState((){ counter++; };
但它为什么会起作用呢
setState((){}); counter++;
我可以看到计数器的变化,即使我在调用setState函数后更改了它。
0yg35tkg1#
实际上,您不需要在setState中执行count++。如果您查看文档/code https://api.flutter.dev/flutter/widgets/State/setState.html,您会发现唯一重要的行是_element!.markNeedsBuild();。setState()基本上会重建你的小部件,因为你用count++修改了小部件的示例,更新后的计数会出现在屏幕上。setState接受一个回调,建议在其中应用状态修改,因为它提供了一些有用的错误消息,如果您做错了什么,这些消息将在调试时帮助您。
setState
count++
_element!.markNeedsBuild();
setState()
1条答案
按热度按时间0yg35tkg1#
实际上,您不需要在
setState
中执行count++
。如果您查看文档/code https://api.flutter.dev/flutter/widgets/State/setState.html,您会发现唯一重要的行是
_element!.markNeedsBuild();
。setState()
基本上会重建你的小部件,因为你用count++
修改了小部件的示例,更新后的计数会出现在屏幕上。setState
接受一个回调,建议在其中应用状态修改,因为它提供了一些有用的错误消息,如果您做错了什么,这些消息将在调试时帮助您。