reactjs - Objekt är av typen 'unknown' inom .map?
Jag har en lista med ämnen
const topics = getPromptCategories();
som ser ut som
[ { category: "cat1", attempts: 0 }, {category: "cat2", attempts: 0 } ]
Så mitt gränssnitt är
interface topicInterface {
category: string;
attempts: number;
}
och jag försöker härleda ett antal knappar från ämnena, så jag gör det här
const topicButtons = topics.map((topic) => {
return <button>{topic.category}</button>;
});
men det skriker åt mig om Object is of type 'unknown' vid {topic.category}
Om jag lägger till gränssnittet till ämne topic: topicInterface säger det nu något annat
Argument of type '(topic: topicInterface) => JSX.Element' is not assignable to parameter of type '(value: unknown, index: number, array: unknown[]) => Element'.
Jag är ny på TypeScript. Vad missar jag eller förbiser?
Svar #1
Om det hjälper någon annan, pekade @crashmstr mig i rätt riktning.
Problemet var med min getPromptCategories()-funktion eftersom den inte returnerade topicInterface[].
Jag gick in i min funktion och justerade min kod för att återspegla detta
let out: topicInterface[] = Object.values(...);
return out;
Och mina topicButtons ser ut som
const topicButtons = topics.map((topic:topicInterface) => {
return <button key={topic.category}>{topic.category}</button>;
});
