Mobx。从另一家商店获取价值
Mobx. Getting value from another store
我有 Mobx FirstStore 并导入 SecondStore。 SecondStore 有一个(值),我想在我的 FirstStore 中使用它(值)。
如屏幕截图所示,这是它的工作原理,但我有一个问题,使用它安全吗?如果我的 SecondStore 中的(值)发生变化,FirstStore 会看到它吗?
或许在调用函数的时候加个参数,通过React组件传(值)比较好?
async someFetchRequest(valueFromSecondStore) {
await api.retData(valueFromSecondStore)
}
提前致谢!
============================================= =========================================
大多数情况下这样使用完全没问题。
在某些情况下,您可能会考虑不同的方法,例如依赖注入,或者像您所说的那样将值作为参数传递。但在您遇到那些高级场景(例如,使测试更容易进行或服务器端渲染)之前,您可以放心地使用它。您甚至可以在 FirstStore 中创建 computed
getter,或使用 SecondStore 中的一些值创建 reaction
,它将按预期工作。
如果将 class A
导入 class B
并将 class B
导入 class A
,在极少数情况下,您也会遇到循环依赖循环,但如果只导入其中一个你很好。
我有 Mobx FirstStore 并导入 SecondStore。 SecondStore 有一个(值),我想在我的 FirstStore 中使用它(值)。
如屏幕截图所示,这是它的工作原理,但我有一个问题,使用它安全吗?如果我的 SecondStore 中的(值)发生变化,FirstStore 会看到它吗?
或许在调用函数的时候加个参数,通过React组件传(值)比较好?
async someFetchRequest(valueFromSecondStore) {
await api.retData(valueFromSecondStore)
}
提前致谢!
============================================= =========================================
大多数情况下这样使用完全没问题。
在某些情况下,您可能会考虑不同的方法,例如依赖注入,或者像您所说的那样将值作为参数传递。但在您遇到那些高级场景(例如,使测试更容易进行或服务器端渲染)之前,您可以放心地使用它。您甚至可以在 FirstStore 中创建 computed
getter,或使用 SecondStore 中的一些值创建 reaction
,它将按预期工作。
如果将 class A
导入 class B
并将 class B
导入 class A
,在极少数情况下,您也会遇到循环依赖循环,但如果只导入其中一个你很好。