使用 Redux 工具包中的 createEntityAdapter 时,如何在 class 组件中将实体作为数组获取?
How to get entities as an array in a class component when using createEntityAdapter from Redux toolkit?
我的商店中有一个切片,是我使用 Redux Toolkit 中的 createEntityAdapter 创建的。在函数组件中,您可以将 useSelector 与从 adapter.getSelectors()
返回的选择器一起使用。
但是我怎样才能在基于 class 的组件中将所有实体作为一个数组(就像使用 selectAll 选择器一样)?我正在使用 connect 和 mapStateToProps,这只允许我获取实体或 id 作为道具,但不是所有实体作为数组排序与 id 排序的顺序相同...
您会使用相同的 selectAll
选择器,但您会在 mapState
函数中调用它以与 connect
一起使用,而不是将其传递给 useSelector
:
const mapState = (state) => {
return {
items: itemsSelectors.selectAll(state)
}
}
我的商店中有一个切片,是我使用 Redux Toolkit 中的 createEntityAdapter 创建的。在函数组件中,您可以将 useSelector 与从 adapter.getSelectors()
返回的选择器一起使用。
但是我怎样才能在基于 class 的组件中将所有实体作为一个数组(就像使用 selectAll 选择器一样)?我正在使用 connect 和 mapStateToProps,这只允许我获取实体或 id 作为道具,但不是所有实体作为数组排序与 id 排序的顺序相同...
您会使用相同的 selectAll
选择器,但您会在 mapState
函数中调用它以与 connect
一起使用,而不是将其传递给 useSelector
:
const mapState = (state) => {
return {
items: itemsSelectors.selectAll(state)
}
}