Всем привет , такая ситуация : У меня есть компонент
DefaultItemsLayout
, я хочу что бы он принимал пропс , этот пропс должнен быть массивом состоящим из обьектов , дело в том что у меня есть три вида разных обьектов , тобеж я могу передать в пропс один из трёх массивов в которых будут обьекты разных типов что то типо такого
<DefaultItemsLayout items={arrayWithObjects1} /> или <DefaultItemsLayout items={arrayWithObjects2} /> или <DefaultItemsLayout items={arrayWithObjects3} />
, как мне сделать так что бы тс понимал какой сейчас исп. обьект что бы я имел возможность достучаться к полям обьекта ( что бы тс понимал какой сейчас передаётся обьект и понимал какие у него есть поля ) ?
Код компонента :
import DefaultCardLayot from "../DefaultCardLayout/DefaultCardLayout";
import { IReminds } from "../../../models/IReminds";
interface IDefaultItemsLayout { // тут можно добавить <T> как я полагаю
items: Array<any>;
}
export default function DefaultItemsLayout(props: IDefaultItemsLayout) {
const { items } = props; // items - массив из обьектов ( обьекты могут быть разными )
return (
<Box>
{items.map((item) => {
return (
<>
<div>{item.title}</div> // item должен понимать какие у него есть поля
<DefaultCardLayot />
</>
);
})}
</Box>
);
}
Спасибо !