gpt4 book ai didi

javascript - 改变状态的函数的 Redux 词

转载 作者:行者123 更新时间:2023-11-30 12:01:53 27 4
gpt4 key购买 nike

在 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 是什么函数?

最佳答案

由于您正在传递 stateaction,实际上您刚刚创建了另一个 reducer ,假设您返回一个新的 state:

type Reducer<S, A> = (state: S, action: A) => S

将工作拆分为更小的 reducer 的行为是 Redux 中广泛使用的模式——如果您愿意,也可以从文档中获取:

This is called reducer composition, and it’s the fundamental pattern of building Redux apps.

快看this example - 我们可以看到 TodosTodo reducer,其中每个都处理一个状态 block 和一个特定的 Action 。请注意,Todo reducer 只处理一个 todo 对象。通常情况是这样的:您通常希望将一小块 state 传递给 sub-reducer,而不是所有 state

然而,也就是说,Redux 的美妙之处在于您可以按照自己的喜好编写 reducer。唯一的规定是你的 reducer 函数必须接受 state 和一个 action,并且它必须返回一个 new state 对象。

关于javascript - 改变状态的函数的 Redux 词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36438748/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com