在redux中,对于将状态作为参数的特定操作,您将在switch语句中调用哪个函数,更改它并返回一个新状态?function reducer(state = DEFAULT_STATE, action) {
let count = state.count switch (action.type) {
case CHANGE_COLOR:
return { color: action.color }
case UPDATE_LANGUAGE:
return updateLanguage(state, action)
default:
return state }}在上面的函数中会有什么样的函数updateLanguage?
2 回答
慕妹3242003
TA贡献1824条经验 获得超6个赞
既然你传递state
和action
,你实际上只是创造了另一个减速,假设你返回一个新的state
:
type Reducer<S, A> = (state: S, action: A) => S
将工作拆分为较小的reducer的行为是Redux中广泛使用的模式 - 或者从文档中,如果您愿意:
这称为reducer组合,它是构建Redux应用程序的基本模式。
看看这个例子 - 我们可以看到Todos
和Todo
reducer,每个都处理一大块状态和一个特定的动作。请注意,Todo
reducer只处理一个todo
对象。通常就是这种情况:你经常想把一小部分传递state
给一个减速器,而不是全部state
。
然而,那就是说,Redux的美妙之处在于你可以根据自己的需要编写减速器。唯一的规定是你的reducer函数必须接受state
和一个action
,并且它必须返回一个新 state
对象。
添加回答
举报
0/150
提交
取消