Я пытаюсь отобразить массив информации, используя карту, полученную из ловушки usestate. При написании функции карты я получаю «Невозможно вызвать выражение, тип которого не имеет подписи вызова». Ошибка. Если я создаю функцию, которая возвращает ту же информацию, и вызываю эту функцию, я не получаю сообщение об ошибке.
export default function Portfolio() {
const [portfolioData, setPortfoloioData] = useState<IProject[] | []>([])
useEffect(() => {
const portfolio: IProject[] = getPortfolio()
setPortfoloioData(portfolio)
}, [])
//Function to display the map that works.
const displayBlocks = (portfolioData: IProject[]): JSX.Element[] => {
return portfolioData.map((item, index) =>
<ProjectBlock key={index} project={item} index={index} />
)
}
return (
<div className='text-center pt-3'>
<h1 className='pb-4'>Portfolio</h1>
//This works without error
{displayBlocks(portfolioData)}
//This shows the missing call signature error even though
//it is the same as what is returned by the displayBlocks function.
{portfolioData.map((item, index) =>
<ProjectBlock key={index} project={item} index={index} />
)}
</div>
)
}
Я хотел бы выяснить, как отображать информацию с помощью простой карты в разделе возврата без необходимости вызова другой функции. Что я делаю не так?