gpt4 book ai didi

TypeScript:如何为具有许多相同类型的键和相同类型的值的对象创建接口(interface)?

转载 作者:行者123 更新时间:2023-12-04 01:51:35 26 4
gpt4 key购买 nike

我正在使用 Redux 和 Normalizr 在 TypeScript 中构建一个 React Native 应用程序.所以我会有规范化的状态。

我有四个接口(interface):Emotion , Need , PainDataPainReport :

export interface Emotion {
name: string;
chosen: boolean;
rating: number;
}

export interface Need {
name: string;
rating: number;
}

export interface PainData {
note: string;
emotions: Emotion[];
needs: Need[];
date: Date;
}

export interface PainReport {
[date: string]: PainData
}

现在我想创建一个不是数组的接口(interface),而是一个对象,它允许像这样的几个 PainReports(伪代码):
export interface PseudoPainReportsObject {
[date: string]: PainData,
[date: string]: PainData,
[date: string]: PainData,
// ... dynamically have as many as I'd like. Maybe 1, maybe 100
}

我想将它用于标准化状态,就像使用 Normalizr 时一样。

如何做这样的类型或接口(interface)?

最佳答案

一个使用 TypeScript 的 Record类型:

type PseudoPainReportsObject = Record<string, PainData>;
Record<K, V>表示具有任意数量 K 的对象键入映射到 V 的键类型值。

关于TypeScript:如何为具有许多相同类型的键和相同类型的值的对象创建接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52768308/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com