我想要一个全局的
provider
,我在应用程序顶部的MultiProvider
小部件中创建它,如下所示:
ChangeNotifierProvider(
create: (context) => ThemeProvider()
..init(
context: context,
initialThemeMode: widget.themeMode,
),
),
如你所见,我也在调用
..init(
来设置初始数据。然而,init
在打开应用程序时实际上并未被调用。仅在我与该提供商进行第一次通话后才会被调用,例如像这样设置颜色:
Container(
height: 50,
color: Provider.of<ThemeProvider>(context).color,
),
这是预期的行为吗?