gpt4 book ai didi

javascript - Redux 中的选择器 - React 组件了解 redux 状态意味着什么?

转载 作者:行者123 更新时间:2023-11-28 03:39:48 25 4
gpt4 key购买 nike

选择器(除其他原因外)用于隐藏组件的状态。这个说法正确吗?

假设我有2 个 reducer :

当前用户:

{ 
currentUserId: 'abc'
}

所有用户

{ 
byId: {
{
abc: {
name: "John"
age: 21
}
def: {
name: "Dave"
age: 51
}
ghi: {
name: "Gunners"
age: 98
}
}
},
allIds : ['abc','def','ghi'] //this is a list; users have a certain order, that is preserved here
}

假设我现在想要获得一些派生状态。我将使用选择器,这样我的组件就不必直接处理 reducer 状态。 这(除了内存/性能)是选择器背后的基本原理的一部分,对吗?因此,我实现了一个选择器,将用户返回到我的 mapStateToProps 函数。

但是:现在我的组件仍然需要知道用户对象的样子?例如。存在 obj.nameobj.age - 那么了解状态如何、在哪里开始以及在哪里结束呢?或者,我更可能认为,我在这里误解了什么?

最佳答案

我对你的问题有点困惑。无法评论...使用选择器是个好主意,因为它可以使代码更易于管理,或者您只需要状态中更具体的内容。

例如,如果您有一个包含已读通知和未读通知的通知缩减程序,您可以创建一个选择器来处理删除已读通知,以便您只能显示未读通知。

所以mapStateToProps将推送给它的任何东西。从选择器返回的任何内容都将被推送到组件的 props 中。

如果您希望它只知道姓名和年龄,您可以轻松地做到这一点,而无需创建单独的选择器。

// taking into consideration the code you posted

const mapStateToProps = (state) => ({
users: state.allUsers.byId
})

现在mapStateToProps只会知道姓名和年龄。

关于javascript - Redux 中的选择器 - React 组件了解 redux 状态意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57380331/

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