来自一个react SPA的总结--redux篇
2016-06-21 20:06
477 查看
本文是自己这几天做一个reactSPA的其中之一篇总结,主要总结在实践中,学习到的有关redux的一些思想(并没有太多细节),方便日后自己的重温……..
redux用作管理应用的data-state和UI-state,在react中组件间的通信一般是parent-child间,(兄弟间鉴于我初出茅庐,暂时没遇到),而对于子组件向父组件传递数据,想想都有点难以想象,所以redux很好地解决了这些问题,redux提供了store用来保存自己的应用中所有的state,换句话说就是作为中间的媒介,使得各组件可以通过它来处理别的组件的state,看下图
1.在一个应用中它只有一个
2.不能直接处理state,处理state的唯一办法就是声明一个action,它描述了state的处理方式,并将它作为store的dispatch方法调用的一个参数:
可以通过action create方式来调用action
3.reducer通过recive一个state并返回一个新的state来达到更改state的意图,所以在这里请注意,reducer并不是改变原先state,而是通过返回给store一个新的state,来实现相关组件state的改变
4.通过
在这里reducer被调用了两次,一次是在创建store后,另一次是在dispatch一个action后。
第一次,创建store后立即调用reducer,并使用了initial作为state的初始值;
第二次,在dispatch一个action后,reducer通过type知道怎样改变state
使用combineReducer来整合多个reducer,然后传给store,因为一个应用中只有一个store哦,不能对每一个reducer创建一个store,示例代码如下:
react和redux的结合使用react-redux提供的provider和connect两个模块,本人不才,初出茅庐,这篇文章有比较详细的介绍,React和Redux的连接react-redux
参考链接:
redux官方文档
Pros and Cons of using immutability with React.js
redux用作管理应用的data-state和UI-state,在react中组件间的通信一般是parent-child间,(兄弟间鉴于我初出茅庐,暂时没遇到),而对于子组件向父组件传递数据,想想都有点难以想象,所以redux很好地解决了这些问题,redux提供了store用来保存自己的应用中所有的state,换句话说就是作为中间的媒介,使得各组件可以通过它来处理别的组件的state,看下图
1.在一个应用中它只有一个
store**
2.不能直接处理state,处理state的唯一办法就是声明一个action,它描述了state的处理方式,并将它作为store的dispatch方法调用的一个参数:
store.dispatch(action)
可以通过action create方式来调用action
3.reducer通过recive一个state并返回一个新的state来达到更改state的意图,所以在这里请注意,reducer并不是改变原先state,而是通过返回给store一个新的state,来实现相关组件state的改变
4.通过
createStore来创建一个store并把reducer传入给它,下面以一个简单的一段代码,整合上面的知识
const initial ={ value: 1 } var reducer = function(state = initial, action){ switch(action.type){ case ADD_VALUE: return { value:state.value+1 } return state; } var store=createStore(reducer); store.disptach({ type:ADD_VALUE, })
在这里reducer被调用了两次,一次是在创建store后,另一次是在dispatch一个action后。
第一次,创建store后立即调用reducer,并使用了initial作为state的初始值;
第二次,在dispatch一个action后,reducer通过type知道怎样改变state
使用combineReducer来整合多个reducer,然后传给store,因为一个应用中只有一个store哦,不能对每一个reducer创建一个store,示例代码如下:
import {createStore, combineReducers} from 'redux' const addReducer = function(){} const deleteReducer = function(){} const reducers = combineReducers({ addState:addReducer, deleteState:deleteReducer }); const store = createStore(reducers);
react和redux的结合使用react-redux提供的provider和connect两个模块,本人不才,初出茅庐,这篇文章有比较详细的介绍,React和Redux的连接react-redux
参考链接:
redux官方文档
Pros and Cons of using immutability with React.js
相关文章推荐
- 超级给力的JavaScript的React框架入门教程
- JavaScript的React框架中的JSX语法学习入门教程
- 由ReactJS的Hello world说开来
- 深入探讨前端框架react
- 深入浅析react native es6语法
- Windows下React Native的Android环境部署及布局示例
- 深入理解JavaScript的React框架的原理
- 在React框架中实现一些AngularJS中ng指令的例子
- H5、React Native、Native应用对比分析
- react Native 运行程序报错解决笔记
- CSS Modules 详解及 React 中实践
- webpack共用于前后端的小坑
- 初体验react的状态机
- 比较react和flex的设计哲学
- React 相关文档
- 在现有 server 中集成 webpack + react 热加载
- React Native 的那些坑
- 7月国外最新技术文章翻译汇总(IT技术)