gpt4 book ai didi

reactjs - redux 中的选择器是什么?

转载 作者:行者123 更新时间:2023-12-03 12:56:52 27 4
gpt4 key购买 nike

我正在尝试遵循此coderedux-saga

export const getUser = (state, login) => state.entities.users[login]
export const getRepo = (state, fullName) => state.entities.repos[fullName]

然后在传奇中使用它,例如 this :

import { getUser } from '../reducers/selectors'

// load user unless it is cached
function* loadUser(login, requiredFields) {
const user = yield select(getUser, login)
if (!user || requiredFields.some(key => !user.hasOwnProperty(key))) {
yield call(fetchUser, login)
}
}

这个getUser reducer (它是 reducer 吗)看起来与我通常期望的 reducer 的样子非常不同。

谁能解释一下选择器是什么以及如何使用getUser是一个 reducer ,它如何与 redux-saga 配合?

最佳答案

getUser 不是一个 reducer ,它确实是一个选择器,即一个知道如何从存储中提取特定数据的函数。

选择器提供了一个额外的层,这样,如果您更改了商店结构,并且突然之间您的用户不再位​​于state.entities.users 而是在 state.users.objects.entities (或其他),那么您只需要更新 getUser 选择器,而不是应用程序中您所在的每个位置引用旧位置。

这使得它们在重构 Redux 存储时特别方便。

关于reactjs - redux 中的选择器是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38674200/

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