gpt4 book ai didi

flutter - 如何使用 Provider 将 ChangeNotifier 的范围限定到某些路由?

转载 作者:行者123 更新时间:2023-12-02 12:38:50 25 4
gpt4 key购买 nike

我有一个 ChangeNotifier,我想在多个路由之间共享它,但不是所有路由:

enter image description here

Page1 是我的第一页。我只需要与 Page2、Page3 和 Page 共享 ChangeNotifierProvider 的数据,并在进入 Page1 时调用处理我的 ChangeNotifierProvider。

如何使用 provider 执行此操作?

最佳答案

要做到这一点,最简单的解决方案是每条路线都有一个提供商,这样就可以:

Provider(
builder: (_) => SomeValue(),
child: MaterialApp(),
)

你有:

final value = SomeValue();

MaterialApp(
routes: {
'/foo': (_) => Provider.value(value: value, child: Foo()),
'/bar': (_) => Provider.value(value: value, child: Bar()),
'/cannot-access-provider': (_) => CannotAccessProvider(),
}
)

另一方面,不可能让您的模型“自动处置”。

provider 在这种情况下无法知道可以安全地处置该对象。

关于flutter - 如何使用 Provider 将 ChangeNotifier 的范围限定到某些路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57960738/

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