Из приведенной ниже структуры, работающей с React 16.9.0
и Typescript ^16.9.20"
:
file A.ts:
export interface person{
id: number || null,
first_name: string,
date_of_birth: string,
some_unique_number: string,
}
file B.ts:
export interface member{
group_name: string:
first_name: string,
pass_code: string,
some_unique_number: string,
}
file C.tsx:
# import file A
# import file B
interface Props {
result: Array<person | member>;
}
let newResult: any[] = []; <=== I feel like `any[]` is wrong maybe
if (result) {
newResult = results.map((result) => {
return (
<div className="something" key={item.some_unique_number}>
{result.id}
{result.first_name}
{result.date_of_birth}
{result.group_name}
{result.pass_code}
</div>
);
});
}
Мое текущее решение выше генерирует ошибку ниже:
Property 'id' does not exist on type 'person | member'.
Property 'id' does not exist on type 'member'. TS2339
20 | <div className="something" key={item.external_member_id}>
> 21 | {item.id}
В основном то, что я пытаюсь выполнить sh - это l oop через оба интерфейса и отобразить объединение как A, так и B.
Заранее спасибо.