在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和Todoreducer,每个都处理一大块状态和一个特定的动作。请注意,Todoreducer只处理一个todo对象。通常就是这种情况:你经常想把一小部分传递state给一个减速器,而不是全部state。
然而,那就是说,Redux的美妙之处在于你可以根据自己的需要编写减速器。唯一的规定是你的reducer函数必须接受state和一个action,并且它必须返回一个新 state对象。
添加回答
举报
0/150
提交
取消
