我开始将我的商店连接到 mobx。observer(['store'],...)
我想知道使用或使用之间的区别inject('store')(observer(...))
我认为注入的主要区别不是反应性的。那么注入观察者的意图到底是什么?
我开始将我的商店连接到 mobx。observer(['store'],...)
我想知道使用或使用之间的区别inject('store')(observer(...))
我认为注入的主要区别不是反应性的。那么注入观察者的意图到底是什么?
observer(['store'], Component)
和之间没有区别inject('store')(observer(Component))
。
observer
装饰器检查第一个参数是否为数组。如果它是一个数组,那么它会在内部调用注入。
function observer(arg1, arg2) {
...
if (Array.isArray(arg1)) {
...
return inject.apply(null, arg1)(observer(arg2));
}
...
inject
但是,您可以在和之间添加更多装饰器observer
。在这种情况下,会有区别:中间装饰器可以访问注入的道具。显然,如果您不使用inject
.
inject
这只是一种注入 props 的便捷方式,因为 MobX 已经有了在上下文中传递内容的机制。如果您想将道具注入组件而不将其转换为反应式组件,则必须使用另一个库(react-tunnel
例如)。