[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;

 

posted @ 2016-06-04 15:35  Zhentiw  阅读(273)  评论(0编辑  收藏  举报