我正在学习redux和不可变的,并做一个todo应用程序。React Redux不可改变的状态不被退回
当我触发动作方法add_item我得到 “state.push是不是一个函数”
如果我改变这一行
const reducer = (state = initialState, action) => {
到
const reducer = (state = new List(), action) => {
我可以添加新的项目,但原始的不显示,如何解决这个问题?
export const initialState = Map({
items: List (
Map({ id: 1, content: 'Call mum' }),
Map({ id: 2, content: 'Buy cat food' }),
Map({ id: 3, content: 'Water the plants' })
)
});
const reducer = (state = initialState, action) => {
console.log("action.type", action.type);
switch (action.type) {
case ADD_ITEM:
return state.push(Map({
id: nextId++,
content: action.content
}));
default:
return state;
}
};
谢谢你为你的答案,但我想使用immutablejs,如https://www.sitepoint.com/how-to-build-a-todo-app-using-react-redux-and-immutable-js/我是松散地跟随。以上只是我正在构建的测试应用程序的一小部分。将进一步的功能来切换,删除,过滤状态。 – Adam