私は店舗をmobxに接続し始めています。 observer(['store'],...)
の使用と使用の違いを疑問に思っていますinject('store')(observer(...))
Mobx.injectとストアを接続するときのMobx.objectverの主な違いは何ですか?
私は注射が反応しないと主な違いを見ています。それで、オブザーバーに正確に注入するのはどういう意味ですか?
私は店舗をmobxに接続し始めています。 observer(['store'],...)
の使用と使用の違いを疑問に思っていますinject('store')(observer(...))
Mobx.injectとストアを接続するときのMobx.objectverの主な違いは何ですか?
私は注射が反応しないと主な違いを見ています。それで、オブザーバーに正確に注入するのはどういう意味ですか?
observer(['store'], Component)
とinject('store')(observer(Component))
の間に違いはありません。
observer
デコレータは、最初の引数が配列かどうかをチェックします。配列の場合は、inject internallyを呼び出します。
function observer(arg1, arg2) {
...
if (Array.isArray(arg1)) {
...
return inject.apply(null, arg1)(observer(arg2));
}
...
ただし、inject
とobserver
の間でより多くのデコレータを追加することができます。その場合、違いがあります。中間のデコレータは注入された小道具にアクセスできます。外側のデコレータは、inject
を使用しないと、注入された小道具にアクセスすることはできません。
inject
は、MobXがすでに文脈で物を渡す仕組みを持っていたので、小道具を注入するのに便利な方法です。コンポーネントを反応コンポーネントに変換せずにコンポーネントに注入する場合は、別のライブラリ(たとえばreact-tunnel
)を使用する必要があります。