为什么存在 missing_provider_scope Riverpod lint 规则?在深度嵌套的小部件中使用它是否有任何副作用?
在以下官方 Riverpod 示例中https://github.com/rrousselGit/riverpod/blob/master/examples/todos/lib/main.dart,它不在小部件树的顶部。
我通常有一个像这样的小部件树: => FutureBuilder(等待后端数据)=> ProviderScope => MaterialApp
这里特别强调的是小组件树中缺少
ProviderScope
。从技术上讲,它可以嵌入(和覆盖)小部件树的任何部分。但值得记住的是,它将仅适用于小部件树的这一部分。
因此,如果您在小部件树中的某个位置使用提供程序,但没有在该树/子树的根部添加
ProviderScope
,则 lint 会发出咒语:)