我可以将 MaterialApp 小部件用 Provider 包装吗?

5

我是新手Flutter开发,正在尝试使用Provider创建应用程序。我使用ChangeNotifierProvider包装了MaterialApp小部件,应用程序可以正常工作,我也可以按照预期使用Provider。我想知道这样做是否可以,并且是否会遇到任何问题?

Widget build(BuildContext context) {
    return ChangeNotifierProvider<BaseModel>(
        builder: (context) =>
            BaseModel(loading: false, title: "Title", isLoggedIn: false),
        child: MaterialApp(
            routes: <String, WidgetBuilder>{
                "/home": (BuildContext context) => Home(),
                "/signIn": (BuildContext context) => SignIn()
            },
            initialRoute: "/signIn",
            title: 'Flutter Demo',
            theme: ThemeData(
                // is not restarted.
                primarySwatch: Colors.blue,
            ),
            home: SignIn()),
    );

在所有示例代码中,它们在MaterialApp小部件下使用"home"下的Provider。而我使用了Provider内的MaterialApp。
1个回答

16

完全没有问题。没任何问题。


谢谢!您有更好的解决方案来使用具有命名路由的提供程序模式吗? - Madusha Lakruwan
我已经整天寻找解决办法,但没有运气。 - John Joe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接