react中react-redux和react-router4.*的配合使用
2017-10-10 15:22
561 查看
在一个react的项目中,目前来说项目过大,数据交互多的情况下选择使用redux和router是很常见的。下面我就用代码的展现形式,来举例:
我们知道在react-redux的实践中,最外层就是render函数的使用:
当我们使用redux的时候,就会先创建一个store,然后使用react-redux提供的Provider作为父组件包裹App:
当搭配router后,这里仍然不需要要改变的。我们只需要将router的配置,放入App里面的需要的组件里面:
routerMap.js:
这时候后,在最外层:
其实最后router和redux的使用是互不影响的,一切正常使用就好。
链接:http://www.jianshu.com/p/81c720481102
我们知道在react-redux的实践中,最外层就是render函数的使用:
import React from 'react'; import {render} from 'react-dom'; import App from './App'; //这里使用render渲染 render( <App/>, document.getElementById('root') );
当我们使用redux的时候,就会先创建一个store,然后使用react-redux提供的Provider作为父组件包裹App:
render( <Provider store={store}> <App/> </Provider>, document.getElementById('root') );
当搭配router后,这里仍然不需要要改变的。我们只需要将router的配置,放入App里面的需要的组件里面:
routerMap.js:
import React,{Component} from 'react'; import { BrowserRouter as Router, Route, Switch } from 'react-router-dom'; import Home from '../containers/Home'; import User from '../containers/User'; import Search from '../containers/Search'; import Detail from '../containers/Detail'; import City from '../containers/City'; import NotFound from '../containers/404Page'; class App extends Component{ constructor(props, context){ super(props, context); this.shouldComponentUpdate = PureRenderMixin.shouldComponentUpdate; } render(){ return ( <Router> <div> {/** * 这里可以公共的样式,比如 头部, 尾部, 等. */} header {/*结合Switch组件可以匹配到都匹配不到的路劲,404等...*/} <Switch> <Route path='/' exact component={Home}/> <Route path='/user' component={User}/> <Route path='/search' component={Search}/> <Route path='/detail' component={Detail}/> <Route path='/city' component={City}/> <Route component={NotFound}/> </Switch> footer </div> </Router> ); } } export default App;
这时候后,在最外层:
import React from 'react';
import {render} from 'react-dom';
import App from './routerMap';
//这里使用render渲染
render( <Provider store={store}> <App/> </Provider>, document.getElementById('root') );
其实最后router和redux的使用是互不影响的,一切正常使用就好。
链接:http://www.jianshu.com/p/81c720481102
相关文章推荐
- Redux 17 - 进阶:和React Router一起使用(Usage with React Router)
- react-navigation之TabNavigator, StackNavigator使用配合redux
- redux 配合 react 在项目中的使用(个人总结与备忘)
- 使用React + Redux + React-router构建可扩展的前端应用
- redux 配合 react 在项目中的使用(个人总结与备忘)
- redux 配合 react 在项目中的使用(个人总结与备忘)
- 一个使用react-router+react-redux搭建出来的项目
- 在组件使用react-router,和redux的注意事项
- react-router与react-reduct配合使用时页面不刷新问题解决方法
- react-router 与react-reduct 配合使用时,页面不刷新问题
- react-native-router-flux 使用详解(一)
- 【前端】react学习阶段总结,学习react、react-router与redux的这些事儿
- React-redux使用
- 狗屎一样的React(第八节,React-router 4.0的使用姿势)
- react-redux-react-router直通车
- redux在react-native上使用(五)--redux-actions使用
- react系列(五)在React中使用Redux
- react-router 4.0 下服务器如何配合BrowserRouter/hashBrowserRouter
- redux与react联合使用
- 使用Typescript编写Redux+Reactjs应用程序