flutter_in_action_2nd icon indicating copy to clipboard operation
flutter_in_action_2nd copied to clipboard

15.6.1 DON'T use Provider.value to create your object.

Open flycumt opened this issue 3 years ago • 0 comments

provider插件的官方文档上写着: DON'T use Provider.value to create your object.

ChangeNotifierProvider.value(
  value: MyModel(),
  child: ...
)

不应该在Provider.value方法中创建对象,而应该使用create的方式创建对象: DO create a new object inside create.

Provider(
  create: (_) => MyModel(),
  child: ...
)

然而,在15.6.1 APP入口使用Provider的方式恰恰违背了它说明的这一点。。

 providers: [
        ChangeNotifierProvider.value(value: ThemeModel()),
        ChangeNotifierProvider.value(value: UserModel()),
        ChangeNotifierProvider.value(value: LocaleModel()),
      ],

flycumt avatar Jan 29 '22 00:01 flycumt