Я определил два типа, Team
и Position
.Они оба являются частью массива, который я повторяю в своем компоненте реакции.
на основе типов, определенных ниже в моей функции map
. Я вижу следующую ошибку.
Примеры ошибок, которые я вижу.
Свойство 'name'не существует в типе' Позиция '.[2339]
Свойство 'position' не существует для типа 'Team'.[2339]
Разве невозможно проверить, что массив содержит какой-либо тип?
Мой код выглядит следующим образом:
type Team = {
name: string;
city: string;
}
type Position = {
position: number;
}
const Component = () => {
const teamsAndPosition = [
{
name: 'Arsenal',
city: 'London',
},
{
name: 'Everton',
city: 'Liverpool',
},
{
position: 2
}
];
const [list, setList] = useState<Array<Team | Position >>(teams)
list.map((item: Team | Position) => {
return item.name ? (
<div>
// I am seeing an error for these below
<p>{item.name}</p>
<p>{item.city}</p>
</div>
) : (
<p>{item.position}</p>
)
})
}