Estoy aprendiendo TypeScript y tengo una pregunta. Recibo datos de la API y me gustaría escribirlos.
interface FieldData { type: number, other: string } const AAA = 'aaa'; const BBB = 'bbb'; const CCC = 'ccc'; const fields: Array<FieldData> = await getFields(); const myData: any = { [AAA]: [], [BBB]: [], [CCC]: [] }; fields.forEach((field: any) => { if (field.type === 1) { myData[AAA].push(field); } else if (field.type === 2) { myData[BBB].push(field); } else { myData[CCC].push(field); } });¿Cómo creo un tipeo para un objeto myData? No quiero usar ningún tipo.
Si las propiedades de AAA , etc. pueden variar y no pueden ser completamente estáticas, escríbalas con as const y tenga en cuenta que sus valores de matriz son Array<FieldData> .
const myData = { [AAA]: [] as Array<FieldData>, [BBB]: [] as Array<FieldData>, [CCC]: [] as Array<FieldData> }; fields.forEach((field) => {o
const myData: Record<typeof AAA | typeof BBB | typeof CCC, Array<FieldData>> = { [AAA]: [], [BBB]: [], [CCC]: [] };