React-使用redux-immutable统一数据格式
2024-10-12 04:59:02
在header的reducer.js里把header变成immutable对象之后,在组件里获取focused属性就得这样获取:
focused:state.header.get('focused')
state是一个js对象,state.header是一个immutable对象,所以调用focused这个属性点时候先用.再用.get(),数据获取行为是不统一的。我们需要把state也变成immutable对象而不是js对象。
state是在跟目录的总的reducer.js下创建的,我们需要依赖一个redux-immutable库。
1.安装
npm install redux-immutable --save
2.跟目录下总的reducer.js里:combineReducers不再用rudux里的,而是redux-immutable里的,这样combineReducers里的对象就是一个immutable对象。
//combineReducers不再用rudux里的,而是redux-immutable里的,这样combineReducers里的对象就是一个immutable对象
//import {combineReducers} from 'redux'
import {combineReducers} from 'redux-immutable'
import {reducer as headerReducer} from '../common/header/store'
const reducer=combineReducers({
header:headerReducer
});
export default reducer;
3.获取数据的时候用get(),或者getIn()
const mapStateToProps = (state) => {
return {
focused:state.getIn(['header','focused'])
//focused:state.get('header').get('focused')
}
}
最新文章
- 泛型:HashMap的用法--输入字母输出数目
- html5 响应式布局
- [转]UpdatePanel的用法详解
- html css 注释
- 解决load 函数无法赋予变量名的问题
- C puzzles详解【34-37题】
- GRID用法(取行、列值;定位选中某行等等)
- JavaScript DOM编程艺术第二版学习(1/4)
- 企业架构研究总结(41)——企业架构与建模之ArchiMate的由来和详述(上)
- 【liferay】3、liferay 添加spring支持
- python_code list_1
- 如何使用JPQL写纯SQL语句
- Python学习积累:使用help();打印多个变量;fileno()
- 设置angular公共样式表
- 根据xml配置使用反射动态生成对象
- android事件处理概括
- 2010-2011 ACM-ICPC, NEERC, Moscow Subregional Contest Problem J. Joke 水题
- IDEA导入项目jar包红线, cannot resolve symbol xxxx问题
- Java之集合(八)HashMap
- CSS 预处理器