Flutter 使用ChangeNotifierProvider的正确方法

Flutter 使用ChangeNotifierProvider的正确方法,flutter,dart,flutter-provider,Flutter,Dart,Flutter Provider,定义类的提供程序的简单问题 导航下一个屏幕时是否应使用“提供” Navigator.push(context, MaterialPageRoute(builder: (BuildContext context) => ChangeNotifierProvider(create: (_) => locator<AddPatientBloc>(), child: AddNewPatient()))); Navigator.push(上下文,MaterialPage路由(生成

定义类的提供程序的简单问题

导航下一个屏幕时是否应使用“提供”

Navigator.push(context, MaterialPageRoute(builder: (BuildContext context) => ChangeNotifierProvider(create: (_) => locator<AddPatientBloc>(), child: AddNewPatient())));
Navigator.push(上下文,MaterialPage路由(生成器:(BuildContext上下文)=>ChangeNotifierProvider(创建:(\u)=>locator(),子项:AddNewPatient());
这对我来说很有用,但我有点困惑,这是正确的使用方法吗

或者必须由用户使用

class AddNewPatient extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ChangeNotifierProvider(
        create: (_) => locator<PatientDetailsBloc>(), child: SomeOtherWidget());
  }
}
类AddNewPatient扩展无状态小部件{
@凌驾
小部件构建(构建上下文){
返回ChangeNotifierProvider(
创建:()=>locator(),子项:SomeOtherWidget());
}
}
请帮我澄清一下