flutter 如何从类extends ChangeNotifier中获取值

uplii1fm  于 7个月前  发布在  Flutter
关注(0)|答案(1)|浏览(84)

当我使用User user = Provider.of<UserController>(context, listen: false).user; => user null时,我如何从类extends ChangeNotifier中获取值?

class UserController extends ChangeNotifier {
   User _user;
   User get user => _user;

   Future<void> getUser() async {
      String token = await AppValue.getToken();
      Uri uri = Uri.parse('http://20.89.111.129/api/user/getProfileUser');
      Map<String, String> headers = {'Authorization': 'Bearer $token'};
      try {
          final response = await http.get(
              uri,
              headers: headers,
      );
      final data = jsonDecode(response.body);
      User newUser = new User(
          address: (data['address'] == null) ? '' : data['address'],
          birthday: (data['birthday'] == null) ? '' : data['birthday'],
           email: (data['email'] == null) ? '' : data['email'],
           fullName: (data['fullName'] == null) ? '' : data['fullName'],
       );
     _user = newUser; // _user is not null
     notifyListeners();
} catch (error) {
  log('ST WRONG!');
  throw (error);
}
}
}
// When I use User user = Provider.of<UserController>(context, listen: false).user; => user null

字符串

xvw2m8pv

xvw2m8pv1#

我认为你需要告诉提供者你想要操作的确切类,

//so instead of this;
User user = Provider.of(context, listen: false).user;

// do this
User user = Provider.of< UserController>(context, listen: false).user;

字符串

相关问题