Flutter应用程序:如何更改“构建”内部的状态?

时间:2019-07-29 13:08:35

标签: flutter stateful

我是Flutter的新手。

我需要在“ build”方法中更改状态。如果我需要使用setState进行操作,我会徘徊。 还可以在构建中启动导航吗? 一方面,setState将发出信号,指示应重建组件。当我已经在构建它并以正确的方式构建它时,是否需要启动另一个重建?如果是,我是否应该在调用setState之后立即退出方法“ build”?

2 个答案:

答案 0 :(得分:2)

前提是错误的:您不应该更改build内部的状态。

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

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

您应该在{{1}}上使用它们来进行自定义工作。

答案 1 :(得分:0)

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