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