您应该将状态值放在 Riverpod 中的什么位置?
Where should you place the state value in Riverpod?
访问 StateProvider 或 StateNotifierProvider 的状态:
有时在Riverpod文档中,state变量会添加到watch函数之后。
int count = watch(counterProvider).state;
但是,我使用 StateNotifier 的代码只有在我在 watch 中引用它时才有效。即
watch(myNotifier.state)
有什么区别?
使用提供者的小部件在这两种情况下的行为会有所不同。
第一种情况:
watch(counterProvider).state
消费者将查看整个 counterProvider,如果有任何原因导致 NotifyProvider,它将被重建。
第二种情况:
watch(counterProvider.state)
消费者只查看状态变量,只有在状态改变并导致 NotifyProvider 时才会重建它。
访问 StateProvider 或 StateNotifierProvider 的状态:
有时在Riverpod文档中,state变量会添加到watch函数之后。
int count = watch(counterProvider).state;
但是,我使用 StateNotifier 的代码只有在我在 watch 中引用它时才有效。即
watch(myNotifier.state)
有什么区别?
使用提供者的小部件在这两种情况下的行为会有所不同。
第一种情况:
watch(counterProvider).state
消费者将查看整个 counterProvider,如果有任何原因导致 NotifyProvider,它将被重建。
第二种情况:
watch(counterProvider.state)
消费者只查看状态变量,只有在状态改变并导致 NotifyProvider 时才会重建它。