immutable化的state,调用state.set('list',普通数组),程序运行依然正常?

来源:7-12 Ajax获取推荐数据

呵Sever

2020-05-25

//actionCreator.js
const changeList = (data) => ({
  type: constants.CHANGE_LIST,
  data,
  //这个载荷是一个普通数组而非fromJS(data),这样好像也没什么问题?
});
...
const data = ['1','2'];
dispatch(changeList(data));
...
//reducer.js
const defaultState = fromJS({
  focused: false,
  list: [],
});
...
return state.set('list', action.data);
...
写回答

2回答

RaysLiu

2020-05-27

调用state.set('list',普通数组)程序运行正常,你的数据有更新吗?

试试下面的写法

state.set("listData",fromJS(action.listData))


0
0

DeveloperZ

2020-05-27

这样返回的state是一个immutable对象和JS对象的混合体,state是immutable的对象,但是state.get('list')是一个普通JS数组

0
0

React零基础入门到实战,完成企业级项目简书网站开发

主流新技术 React-redux,React-router4,贯穿基础语法

5275 学习 · 2496 问题

查看课程