【问题标题】:Redux and create entity adapter - how to read an entity data?Redux 和创建实体适配器 - 如何读取实体数据?
【发布时间】:2022-11-23 04:36:03
【问题描述】:
我已经为 /redux/slices/messagesSlice.ts 中的实体适配器创建了单独的切片。当我尝试从该文件内部访问存储时,它显示为未定义。
我需要访问我的 chatSelector 中的状态 (store.getState())。
在 redux 网站上,他们将所有代码缩减器和配置存储在一个文件中。
我的问题是:
我是否需要将商店导入到每个想要使用 selector.selectAll(store.getState()) 的组件中?
【问题讨论】:
标签:
redux
redux-toolkit
createentityadapter
【解决方案1】:
A有同样的问题,我找到了这篇文章。
经过一段时间的研究,我意识到一些事情:
在documentation中最上面的蓝色字条上写着:
出于此引用的目的,我们将使用实体来指代
由 reducer 的副本管理的特定数据类型
Redux 状态树的特定部分中的逻辑,以及实体
引用该类型的单个实例。示例:在 state.users 中,
实体将引用用户类型,和 state.users.entities[123]
将是一个单一的实体。
所以对我来说下面工作正常。
import { useSelector } from 'react-redux';
const jobName = useSelector((state: RootState) => state.job.entities[props.id]?.jobName);