Javascript 如何在React中设置Redux而不使用不可变项?
我学会了如何重新使用。然而,他的实现使用的是不可变的,虽然很棒,但我想从当前应用程序的构建中删除它。我正试图弄明白如何在不依赖Immutable的情况下维护以下内容。我需要修改Javascript 如何在React中设置Redux而不使用不可变项?,javascript,reactjs,redux,immutable.js,Javascript,Reactjs,Redux,Immutable.js,我学会了如何重新使用。然而,他的实现使用的是不可变的,虽然很棒,但我想从当前应用程序的构建中删除它。我正试图弄明白如何在不依赖Immutable的情况下维护以下内容。我需要修改reducer.js以去掉Immutable,但是导出的函数在没有state=Map()的情况下一直失败 Index.jsx store.dispatch({ type: 'SET_STATE', state: { ... } }); action_creators.js export function setS
reducer.js
以去掉Immutable,但是导出的函数在没有state=Map()
的情况下一直失败
Index.jsx
store.dispatch({
type: 'SET_STATE',
state: { ... }
});
action_creators.js
export function setState(state) {
return {
type: 'SET_STATE',
state
};
}
reducer.js
import { Map } from 'immutable';
function setState(state, newState) {
return state.merge(newState);
}
export default function(state = Map(), action) {
switch (action.type) {
case 'SET_STATE':
return setState(state, action.state);
}
return state;
}
检查我如何在我的状态管理库中使用它您需要用标准JavaScript对象替换您的
映射
,并使用对象。分配
将内容合并到其中。我建议你阅读这本书,它会带你一步一步地完成这一过程。
function setState(state, newState) {
return {
...state,
...newState
};
}
export default function(state = {}, action) {
switch (action.type) {
case 'SET_STATE':
return setState(state, action.state);
}
return state;