我可以使用combineReducers
使用reducer函数来处理状态,如下所示处理状态的每个部分(foo
和bar
):
function foo(state, action) {
switch(action.type) {
case types.A:
return action.value;
default:
state;
}
}
function bar(state, action) {
switch(action.type) {
case types.B:
return action.value;
default:
return state;
}
}
combineReducers({ foo, bar });
或者具有与动作相对应的case reducer函数,它们采用整个状态并在它们上只设置一个键值。 (可以使用如下的immutable.js或只是普通的对象)
function a(state, value) {
state.set('foo', action.value);
}
function b(state, value) {
state.set('bar', action.value);
}
function reducer(state = Map()) {
switch (action.type) {
case types.A:
return a(state, action.value);
case types.B:
return b(state, action.value);
}
}
一种风格是否具有某种优势?