我有一个General Provider
,在应用程序开始时调用。
它通过API fetches
一些数据。通常我会把它交给那个提供商来处理,但是随着应用程序的发展,我认为最好把所有的逻辑分开。
第一个API也引入了user
数据。现在我在应用程序中也有一个UserProvider
。我为它创建了以下内容。
class UserProvider extends ChangeNotifier {
UserModel _user;
UserProvider(this._user);
set setUser(user){
_user = user;
notifyListeners();
}
UserModel get getUser => _user;
}
字符串
这里没有错误,但问题是如何在GeneralProvider
类中调用这个setter
?
我知道的方法如下:
UserProvider(UserModel(your_data));
个
1.Provider.of(context).setUser(UserModel(your_data)); 第一个对我有用,第二个不适合
provider part。 使用
first way的真实的问题: 在我的
main.dart`中,提供了所有的提供程序,我需要这样做。
ChangeNotifierProvider.value(
value: UserProvider(UserModel(your_data),
),
型
我更喜欢的是在为base data
调用general api
时更新UserProvider
。
2条答案
按热度按时间lx0bsm1f1#
我的解决方案是UserProvider类中的setter:
字符串
将您的小部件 Package 为:
型
然后调用它:
型
uxh89sit2#
方法如下:
第一个月
也许你已经找到了解决方案,如果没有,这就是答案。