相关疑难解决方法(0)

跨多个页面持久化提供者数据不起作用

Provider在我的 flutter 应用程序中使用,当我转到一个新页面时,Provider在第 2 页中无法访问提供给第 1页的数据。

我理解这种Provider工作方式的方式是,有一个中心位置可以存储所有数据,并且可以在应用程序的任何位置访问该数据。所以在我的应用程序中,如下所示,ToDoListManager是存储所有数据的地方。如果我在 中设置数据Page 1,那么我将能够在 中访问该数据Page 2,反之亦然。

如果这不正确,那么哪部分是错误的?为什么它在我的应用程序中不起作用?

这是代码

第 1 页

class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ChangeNotifierProvider(
      builder: (context) => ToDoListManager(),
      child: Scaffold(
        appBar: AppBar(
          title: Text('Cool Project'),
        ),
        body:e ToDoList(),
      ),
    );
  }
}

class ToDoList extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    final toDoListManager = Provider.of<ToDoListManager>(context);

    return ListView.builder(
      itemCount: toDoListManager.toDoList.length,
      itemBuilder: (context, index) { …
Run Code Online (Sandbox Code Playgroud)

state-management dart flutter flutter-provider

7
推荐指数
1
解决办法
3160
查看次数

使用 Firebase Auth 和 ChangeNotifierProvider 进行 Flutter 路由

在深入研究我的应用程序的功能之前,我试图使我的颤振架构尽可能好。我已经基于 ChangeNotifierProvider 制作了一个带有 firebase 身份验证的应用程序:

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.lightBlue,
      ),
      home: Home(),
    );
  }
}

class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ChangeNotifierProvider(
      builder: (_) => AuthentService.instance(),
      child: Consumer(builder: (context, AuthentService authentService, _) {
        switch (authentService.status) {
          case Status.Authenticated:
            return DashboardScreen();
          default:
            return LoginScreen();
        }
      }),
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

此 Home 小部件正在侦听身份验证状态,并在登录或未登录时返回任何 …

routing android firebase-authentication flutter flutter-change-notifier

5
推荐指数
1
解决办法
1412
查看次数