【问题标题】:Conditionally stop child rebuild有条件地停止子重建
【发布时间】:2020-04-01 05:22:03
【问题描述】:

在一个有状态的小部件中,我有一个导航部分,用户可以在其中选择父项,并在下面显示子项。 当我选择一个父项时重建子部分也是正常的,但是当我导航抛出父项而不选择一个时,父项正在重建(这是正常的)但子小部件也在重建,在这种情况下如何防止子重建? 谢谢

【问题讨论】:

标签: flutter dart


【解决方案1】:

didUpdateWidget() 被调用,如果父窗口小部件改变并且必须重新构建这个窗口小部件(因为它需要给它不同的数据),但是它正在用相同的 runtimeType 重新构建,那么这个方法被调用。

所以你可以试试这个:

@override
void didUpdateWidget(Widget oldWidget) {
  if (oldWidget.importantProperty != widget.importantProperty) {
    //TODO: Do some amazing stuff !!!
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-29
    • 2021-02-27
    • 2017-10-04
    • 1970-01-01
    • 2020-02-17
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多