javascript - 对象的 Redux 重新选择以字符串为键
问题描述
我在重新选择时无法访问下面的对象,希望有人有一些想法可以帮助我。
const data = state => fruit.selectors.data(state);
This will return an object like this:
{
"10.Kroger": {
"fruit": "Banana",
"price": "10",
"store": "Kroger",
},
"5.Heb": {
"fruit": "Apple",
"price": "5",
"store": "Heb",
},
"12.Wallmart": {
"fruit": "Pineapple",
"price": "12",
"store": "wallmart",
},
}
这是我的 createSelector
export const getFruitData = createSelector(
data,
(state, price, store) => price,
(state, price, store) => store,
(data, price, store) => data[`${price}.${store}`]
);
我试图通过传入的值来获得动态结果:
data["10.Kroger"]
结果应该取回这个对象:
{
"fruit": "Banana",
"price": "10",
"store": "Kroger",
},
是否可以在重新选择中进行这项工作?谢谢您的帮助!
解决方案
您的示例似乎没有从任何记忆层中受益。您可能会考虑reselect
省略并编写一个普通的选择器函数,大致如下:
const data = state => fruit.selectors.data(state);
export function getFruitData(state, price, store) {
const itemData = data(state);
return itemData[`${price}.${store}`]
};
推荐阅读
- mysql - JSON 中第 22 位的意外字符串
- ruby-on-rails - 错误在设计注册时未正确显示
- flutter - 如何获得颤振图像的尺寸?
- javascript - 如何解决未捕获的 typeError - 无法读取 null 的属性“addEventListener”
- python - 循环遍历具有相同列标题的两个数据框,以根据多个条件查找相似的行
- java - 从单选按钮获取 settext 值
- android - 文件 'root/lib/armeabi-v7a/include/opencv2/flann/sampling.h' 使用保留文件或目录名称 'lib'
- html - 将 d3 热图从版本 3 转换为版本 5 时出错
- c# - 如何检测玩家在网格中的位置?
- javascript - Angular:按属性名称分组,如果重复则仅显示一个