[Redux] Adding React Router to the Project

Posted Answer1215

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[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;

 

以上是关于[Redux] Adding React Router to the Project的主要内容,如果未能解决你的问题,请参考以下文章

react-router 4.0、react-router-dom 和 react-router-redux 有啥区别?

使用 react-routerv4 从 react-redux 应用程序中的状态渲染组件时出现 404 错误?

在 react-router-v4 中使用 history.push in action creator?

React+Redux学习笔记:React+Redux简易开发步骤

Redux 进阶之 react-redux 和 redux-thunk 的应用

React之React-redux数据流转流程