如何键入immutablejs Map键,在我的情况下强制使用'id'键和数字值?
所以我尝试了不同的变体,例如:
let campaignSelected: Map<{id: string},number>;
但没有爱。
Error:(12, 13) TS2322:Type 'Map<string, number>' is not assignable to type 'Map<{ id: string; }, number>'.
Type 'string' is not assignable to type '{ id: string; }'.
也试过没有运气:
type myIdType = {id: number}
export interface IMsDatabase {
uiState: {
campaign: {
timelineSelected: Map<myIdType,number>;
}
}
}
感谢阅读,
肖恩
答案 0 :(得分:0)
要映射不可变对象,您可以将状态设置为:
campaign: {timelineSelected: myIdType.map(item=>{item.number})
这可能是不相关的,但如果您只想要特定值而不必映射不可变对象,则可以调用myIdType.get('id')