【问题标题】:Could not find the correct Provider<AuthProvider> above this SignUpIdols Widget在此 SignUpIdols 小部件上方找不到正确的 Provider<AuthProvider>
【发布时间】:2021-08-24 07:33:53
【问题描述】:

我知道颤振提供者有很多答案,但经过数小时的调试后我找不到我的答案,请帮助我

我有一个 SignUpIdols 小部件

 Widget signupidolsUI(BuildContext context) {
    final auth = Provider.of<AuthProvider>(context);

这是问题 final auth = Provider.of(context);

我的 AuthProvider 类

class AuthProvider with ChangeNotifier {
  Status _loggedInStatus = Status.NotLoggedIn;
  Status _registeredInStatus = Status.NotRegistered;

  Status get loggedInStatus => _loggedInStatus;
  Status get registeredInStatus => _registeredInStatus;

  Future<Map<String, dynamic>> register(
      String name, String email, String password) async {
    _registeredInStatus = Status.Registering;

    CollectionReference users = FirebaseFirestore.instance.collection('users');

    var result;

    users
        .add({'name': name, 'email': email, 'password': password})
        .then((value) => () {
              result = {
                'status': true,
                'message': 'Successful',
                'user': 'Register Successful'
              };

              _registeredInStatus = Status.Registered;
            })
        .catchError((error) => () {
              result = {'status': true, 'message': 'Error', 'user': '$error'};
            });

    return result;
  }
}

我面临的错误

谢谢。

【问题讨论】:

  • 您能否显示您在哪里注入(提供)您的AuthProvider 以及您在哪里尝试阅读它。就像这两点之间的完整代码一样,如果它在对话框中?
  • 嗨,感谢您在我的主 MyApp 上注入 MultiProvider() 后的帮助

标签: flutter


【解决方案1】:

我在我的主应用程序上注入 multiprovider 后修复它

Widget build(BuildContext context) {
    return MultiProvider(
        providers: [
          ChangeNotifierProvider<AuthProvider>(create: (BuildContext context) {
            return AuthProvider();
          }),
        ],
        child: MaterialApp(

【讨论】:

    猜你喜欢
    • 2021-07-16
    • 1970-01-01
    • 2021-10-27
    • 2021-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-04
    相关资源
    最近更新 更多