2015-10-19 8 views

答えて

40

universal appsには、リクエストごとに異なるストアインスタンスが必要です。一部のモジュールからストアを単体としてエクスポートするだけでは、サーバーレンダリングを追加するのが難しくなります。

これは、ドキュメント内のシングルトンストアを決して推奨していないため、contextを使用して<Provider>を使用して階層下に渡すことを常にお勧めします。これにより、使用するコンポーネントがストアをシングルトンにすることなく利用できるようになります。 connect()はReduxのは、あなたが本当に接続されているコンポーネントでstore自体を必要としないので、それは自分自身-だ小道具の代わりstoreとしてdispatchを渡しリアクト理由については

。サブスクリプションと読み取りの状態はconnect()で行われますので、コンポーネントにはdispatch()が必要です。

+0

アクションクリエイターから店にアクセスするにはどうすればいいですか?たとえば、シングルトンでない場合はどうすればいいですか?私は、それぞれクライアント側とサーバー側の使用のためにシングルトンとファクトリをエクスポートするストアモジュールを持つことを考えていました。 – orourkedd

+0

@orourkeddなぜアクションクリエイターの店舗にアクセスしたいのですか? –

+0

私はそれについて考えていましたが、現在はアクションクリエイターやその他のグローバル/シングルトンの方法で店にアクセスすることは悪いパターンだと考えています。 – orourkedd

1

通常、ストアはトップレベルモジュールで初期化されてから、react-redux接続関数によって下位レベルのモジュールで使用されています。

これにより、最下位レベルからインポートされるため、ストアを下位レベルのモジュールで直接インポートする必要がなくなります。

関連する問題