[Redux] Adding React Router to the Project

We will learn how to add React Router to a Redux project and make it render our root component.

Install: 

npm install --save react-router
import React from 'react';
import {Provider} from 'react-redux';
import {Router, Route} from 'react-router';
import App from './App';

const Root = ({ store }) => (
    <Provider store={store}>
        <Router>
            <Route path="/" component={App}/>
        </Router>
    </Provider>
)

export default Root;

Router should be wrapped inside Provider, then all the children components can access the router.

Currentlly when we open the browser, we saw the url is like:

http://localhost:3000/#/?_k=k4ctzs

To fix this need to import 'browserHistry':

import React from 'react';
import {Provider} from 'react-redux';
import {Router, Route, browserHistory } from 'react-router';
import App from './App';

const Root = ({ store }) => (
    <Provider store={store}>
        <Router history={browserHistory}>
            <Route path="/" component={App}/>
        </Router>
    </Provider>
)

export default Root;
原文地址:https://www.cnblogs.com/Answer1215/p/5558902.html