I'm following a short tutorial on youtube, a question I have is, why does this syntax work when creating my component:
function List<ListItem>({
items,
render,
}: {
items: ListItem[];
render: (item: ListItem) => ReactNode;
}) {
return (
<ul>
{items.map((item, index) => (
<li key={index}>{render(item)}</li>
))}
</ul>
);
}
I prefer arrow functions, I've tried writing it out like this:
const List<ListItem> = ({
items,
render
}: {
items: ListItem[],
render: (item: ListItem) => ReactNode
}) => {
return (
<ul>
{items.map((item, index) => (
<li key={index}>
{render(item)}
</li>
))}
</ul>
)
}
I'm getting this message in vs code :
JSX element 'ListItem' has no corresponding closing tag