2016-08-09 2 views
1

昨日私はReduxストアの周りにラッパーを作成しようとしていましたが、同じAPIを作成するためにいくつかのコードをコピーして貼り付けなければなりませんでした。反応があれば、私のクラスをReact.Componentから簡単に拡張できたので、なぜReduxの開発者がこのようなストアを実装していないのか考えていたのですが? はこちら店舗コードのコピーです:reduxストアをクラスではなく関数として実装する理由は何ですか?

https://github.com/reactjs/redux/blob/master/src/createStore.js

答えて

2

あなたはあなたが欲しい、特定の順序でストアと複数の機能を構成できるようにする代わりにenhancer Sを、使用することができますので。継承を使用するには、すべてのサードパーティエンハンサーが、必要な順序で互いに継承する必要があります。

+0

ディスパッチのようなストアメソッドを上書きしたい場合はどうすればよいですか?エンハンサーでそれを行うことは可能でしょうか? –

+0

はい。実際に、Reduxに含まれている 'applyMiddleware'エンハンサを見ると、それが正確になることがわかります。 「実際の」ディスパッチをラップする新しい関数を定義するhttps://github.com/reactjs/redux/blob/master/src/applyMiddleware.js#L30を参照し、その関数を「新しい」関数として公開します誰もが呼ぶ "ディスパッチ"。 – markerikson

関連する問題