通常、Reduxを使用する場合、react-router-reduxを使用することをお勧めします。これは反応ルータをカプセル化します。
あなたのアプリを初期化するときだけ、Router
とbrowserHistory
という反応ルータからReduxにいくつかのものを渡す必要があります。 app.jsで
:
import { Router, browserHistory } from 'react-router';
import { syncHistoryWithStore } from 'react-router-redux';
const initialState = {};
const store = configureStore(initialState, browserHistory);
const history = syncHistoryWithStore(browserHistory, store);
const render =() => {
ReactDOM.render(
<Provider store={store}>
<Router
history={history}
routes={rootRoute}
/>
</Provider>,
document.getElementById('app')
);
};
あなたが再来のプロバイダ要素の子として反応し、あなたはまた、ルータ要素にのリアクトbrowserHistoryためReduxのラッパーを提供するルータの要素を提供しています。
プロジェクトの残りの部分では、Reactを直接呼び出すのではなく、react-router-reduxを使用する必要があります。
react-router-dom BTWは、反応ルータをカプセル化するReact 4の単純化のもう1つの層ですが、プロジェクトアーキテクチャがReduxの場合、Reduxのルールに従って作業する必要があるため、各アクションでストアを通過するために-router-redux(前述の初期化を除く)。