reactjs - REACT:如何构建类似于 redux useSelector 的对象字段选择器钩子
问题描述
我正在尝试构建一个钩子,它将从对象返回选定的键值对子集。假设钩子可以访问如下所示的对象:
const stores = { someStore: { someField: 'fieldValue' } }
我们如何将回调传递给钩子以从stores
对象中选择字段?理想的情况是让钩子像这样工作:
const {selectedField} = useStores(stores => ({ selectedField: stores.someStore.someField }))
这个钩子的目标是@inject(stores => ({...}))
在我的代码库中替换 MobX。
解决方案
只需针对stores
function useStores(selector) {
const stores = { someStore: { someField: 'fieldValue' } };
return selector(stores);
}
const { selectedField } = useStores(stores => ({ selectedField: stores.someStore.someField }));
console.log(selectedField);
推荐阅读
- sql - 同一表的合并语句不插入新行,而是更新 Oracle DB 中的现有行
- javascript - Promise 在之前的 then 执行完成之前执行 then 函数
- bash - 使用awk或sed在bash中进行条件查找?
- c - 为什么数组不打印正确的数字?
- reactjs - 使用 Service Worker 时看不到对静态文件所做的更改
- python - 如何优化熊猫数据框中的搜索
- python-3.x - 使用数据框进行货币转换
- vb.net - 如何使用 GeckoFX 45 VB.NET 获取/共享/更新 GEO 位置?
- c# - 从 oracle 数据库中检索单个用户数据到 Visual Studio C# 应用程序
- c# - Nancy 2.0.0 中的控制反序列化