假设我有一个状态区域,其中包含一个人的信息。地址、电话号码等。我为该数据结构创建选择器。现在假设我有多个状态区域需要保存该数据结构。我可以重复使用选择器吗?目前,我有很多选择者,但在顶部,他们从商店的一个部分进行选择。即选择器是否可以在公共区域定义,并在商店的不同区域使用?
谢谢Nick
如果我正确理解你的问题,那么你一定能理解。例如,定义一个"基本"选择器,如下所示:
const reusableSelector = (query, storePart) => {
return store => query(store[storePart]);
};
正如我想象的那样,你所在的州可能有这样的结构:
state
- workers
- managers
- etc.
这些收藏品存储个人物品。
query
是一种可重复使用的功能,你想在多个地方使用它,比如一群人的电话号码:
const getPhoneNumbers = persons => persons.map(person => person.phoneNumber);
因此,您可以从以下一个中创建多个选择器:
const workerPhoneNumbers = useSelector(getPhoneNumbers, 'workers');
const managerPhoneNumbers = useSelector(getPhoneNumbers, 'managers');
您还可以将多个选择器与[reselect][1]
等库相结合。