Есть две проблемы. Учебник импортирует продукт следующим образом:
import Product from './Product.js';
, но затем учебник ссылается на него позже как <product
, когда оно должно быть <Product
.
Вторая проблема заключается в том, что закрывающий тег Product
</product>
должен быть либо внутри оператора возврата вместе с открытым тегом Product
, либо просто использовать самозакрывающийся тег, подобный этому:
{productsToDisplay.edges.map((el, i)=> {
return(
<Product key="{i}" product="{el.node}" />
)
})}
Итак, ваше полное выражение возврата должно выглядеть так:
return (
<div classname="App">
<div classname="products-grid">
{productsToDisplay.edges.map((el, i)=> {
return(
<Product key="{i}" product="{el.node}" />
)
})}
</div>
</div>
);
Кредиты @RyanCogswell для уведомления о другой проблеме с заглавной буквой P в <products>
.