Flutter 应用程序:如何更改 'build' 中的状态?

Flutter app: how about changing the state inside 'build'?

我是 Flutter 的新手。

我需要在方法 'build' 中更改状态。如果我需要用 setState 来做,我正在徘徊。 我还可以在构建中启动导航吗? 一方面,setState 将发出信号,指示组件应该重建。由于我已经在构建它,并且以正确的方式构建它,我是否需要启动另一次重建?如果是,我是否应该在调用 setState 后立即退出方法 'build'?

前提是错误的:你不应该改变build里面的状态。

应该使用明确的生命周期来进行这些状态更改。根据发生的变化,您可能需要使用:

  • didChangeDependencies,用于与 InheritedWidgets 相关的更改
  • didUpdateWidget,创建此小部件时用新变量重建它

您应该使用这些而不是 build 来进行自定义工作。

应在构建之前执行状态更改和导航:在 initState 或事件处理程序中。