我正在學習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