相关疑难解决方法(0)

无法在此小部件上方找到正确的提供者

我在使用 Flutter Provider 时遇到了问题......我的流程是这样的:登录用户 ID 被传递给新的小部件后 -> 从那里执行保存到数据库,然后重定向到新的小部件(仪表板)。

这是登录后小部件的代码:

return MaterialApp(
      title: title,
      home: Scaffold(
          appBar: AppBar(
            title: Text(title),
          ),
          body: ListView(
            children: <Widget>[
              Container(
                margin: EdgeInsets.all(8.0),
                child: Card(
                  shape: RoundedRectangleBorder(
                      borderRadius: BorderRadius.all(Radius.circular(8.0))),
                  child: InkWell(
                    onTap: () {
                      var user = Provider.of<UserRepository>(context);
                      user.savePreference(user.user.id, "Something");
                      user.navigateToNewPage(Dashboard(), context);
                      print(user.user.id);
                    },
Run Code Online (Sandbox Code Playgroud)

这有效:

user.savePreference(user.user.id, "Something");
Run Code Online (Sandbox Code Playgroud)

但这导致了一个问题:

user.navigateToNewPage(Dashboard(), context);
Run Code Online (Sandbox Code Playgroud)

在仪表板小部件中,我正在创建:

 Widget build(BuildContext context) {
    var user = Provider.of<UserRepository>(context);
Run Code Online (Sandbox Code Playgroud)

在 UserRepository 我有这个:

class UserRepository with ChangeNotifier {
  User user;
  Status _status = Status.Uninitialized;

  Status get status …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-provider

6
推荐指数
4
解决办法
3万
查看次数

标签 统计

dart ×1

flutter ×1

flutter-provider ×1