本文介绍了如何在REDx中使用Immutable.js?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
框架正在使用改变应用程序状态以响应操作。
Redux framework is using reducers to change app state in response to an action.
关键要求是reducer无法修改现有的状态对象;它必须生成一个新对象。
The key requirement is that a reducer cannot modify an existing state object; it must produce a new object.
错误示例:
import {
ACTIVATE_LOCATION
} from './actions';
export let ui = (state = [], action) => {
switch (action.type) {
case ACTIVATE_LOCATION:
state.activeLocationId = action.id;
break;
}
return state;
};
好例子:
import {
ACTIVATE_LOCATION
} from './actions';
export let ui = (state = [], action) => {
switch (action.type) {
case ACTIVATE_LOCATION:
state = Object.assign({}, state, {
activeLocationId: action.id
});
break;
}
return state;
};
这是。
推荐答案
以Immutable
Taking your good example with Immutable
import {
ACTIVATE_LOCATION
} from './actions';
import { Map } from 'immutable';
const initialState = Map({})
export let ui = (state = initialState, action) => {
switch (action.type) {
case ACTIVATE_LOCATION:
return state.set('activeLocationId', action.id);
default:
return state;
}
};
这篇关于如何在REDx中使用Immutable.js?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!