gpt4 book ai didi

flutter - 为什么我们需要在有状态小部件中使用 didUpdateWidget 和 build 方法?

转载 作者:行者123 更新时间:2023-12-05 03:52:53 24 4
gpt4 key购买 nike

为什么我们需要状态中的didUpdateWidget方法?
无论如何都会调用构建,我们不能在那里添加逻辑吗?
唯一的区别是,我们没有将旧小部件作为参数引用,或者我错过了什么?

最佳答案

是的,当屏幕上重新加载某些内容时,您可以在构建方法中实现逻辑。didUpdateWidget 每次重新创建相应的小部件时调用

但是,不同之处在于,当我们可以比较某些值并基于这些值时,我们可以对应用做出决定。

示例:

class MyApp extends StatefulWidget {
int getInitialValue() {
return 1;
}
@override
_MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
int _currentValue = 10;
@override
void didUpdateWidget(MyApp oldWidget) {
if(oldWidget.getInitialValue() != _currentValue) {
// Perform animation
// Fetch data from server
}
}
}

以上只是我们如何使用didUpdateWidget()的一个例子,我们可以为许多其他场景做类似的事情

关于flutter - 为什么我们需要在有状态小部件中使用 didUpdateWidget 和 build 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61999838/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com