您应该将状态值放在 Riverpod 的啥位置?
Posted
技术标签:
【中文标题】您应该将状态值放在 Riverpod 的啥位置?【英文标题】:Where should you place the state value in Riverpod?您应该将状态值放在 Riverpod 的什么位置? 【发布时间】:2021-06-08 11:54:32 【问题描述】:访问 StateProvider 或 StateNotifierProvider 的状态:
有时在 Riverpod 文档中,状态变量添加在 watch 函数之后。
int count = watch(counterProvider).state;
但是,我使用 StateNotifier 的代码只有在我在 watch 中引用它时才有效。即
watch(myNotifier.state)
有什么区别?
【问题讨论】:
这能回答你的问题吗? Flutter changing Text value using RiverPod State management 【参考方案1】:使用提供者的小部件在这两种情况下的行为会有所不同。
第一种情况:
watch(counterProvider).state
消费者将查看整个 counterProvider,如果有任何原因导致 NotifyProvider,它将被重建。
第二种情况:
watch(counterProvider.state)
消费者只查看状态变量,只有当状态发生变化并导致 NotifyProvider 时才会重新构建。
【讨论】:
谢谢,如果您认为问题正确,请将问题标记为正确以上是关于您应该将状态值放在 Riverpod 的啥位置?的主要内容,如果未能解决你的问题,请参考以下文章
我应该将 javascript 库放在 Grails 应用程序的啥位置?