我正在尝试在具有复合键的实体中使用Redux-Toolkit的createEntityAdapter。例如,我的领土实体具有类型(市政,州,生物群落等)和地理编码编号。 {type,geocode}对是该实体的复合键。
我希望能够使用 selectById 和其他选择器。我的第一个想法是创建一个连接类型“;”的 id 字段。和地址解析,但是我敢肯定有更好的方法。
import { createEntityAdapter } from '@reduxjs/toolkit'
const adapter = createEntityAdapter({
// selectId: (item) => ???,
})
const APIresponse = {
data: [
{ type: 'state', geocode: 1, value: 123},
{ type: 'state', geocode: 2, value: 66},
{ type: 'municipality', geocode: 1, value: 77},
{ type: 'municipality', geocode: 2, value: 88},
{ type: 'municipality', geocode: 3, value: 99}
]
}
答案 0 :(得分:1)
我是Redux的维护者,也是为RTK实施createEntityAdapter
的人。
createEntityAdapter
确实假设您的数据中具有某种唯一的ID字段。如果您没有从原始数据中获得唯一的ID字段,那么您会想到以下三种选择:
id
字段selectId
,以便每次都返回字段的组合