Фактическая проблема - это проблема синтаксиса импорта / экспорта.Я расскажу вам, как его найти.
Реальное местоположение проблемы показывается трассировкой стека компонентов:
Warning: React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in. Check the render method of `TopNews`.
in TopNews (created by Connect(TopNews))
in Connect(TopNews) (created by App)
in div (created by App)
in App
in Provider
Если мы посмотрим на TopNews.js
, то будет отображаться только <h3>
, <div>
и <NewsItem>
.h3
и div
- это просто основные теги, поэтому проблема, вероятно, NewsItem
.
В верхней части TopNews.js
у вас есть:
import { NewsItem } from '../components/NewsItem';
Однако,в NewsItem.js
у вас есть:
export default NewsItem ;
Итак, вы выполняете экспорт по умолчанию, но именованный импорт, и поэтому NewsItem
не определен в TopNews.js
.
Попробуйте изменить его на import NewsItem from "../components/NewsItem"
, и оно должно работать.