Вы не можете использовать forEach
, когда пытаетесь отобразить дочерние элементы / компоненты, поскольку forEach фактически не возвращает ничего нового, он просто перебирает существующую коллекцию. Вы можете вносить изменения в элементы по мере их зацикливания, но новая коллекция не создается и не возвращается.
Вы должны использовать map
вместо этого.
Я не уверен, что такое Text
, например, если это ваш собственный компонент или из библиотеки, но если это ваш собственный компонент, и вы хотите визуализировать заголовки внутри этого компонента, вы должны обернуть свой l oop внутри компонента <Text>
, но передайте название <Text>
.
См. ниже в MoviesList. js
<div>
{props.movies.Search.map((movie) => {
return <Text title={movie.Title}/>
})}
</div>
Я сделал песочница для кода для полного кода.
РЕДАКТИРОВАТЬ
Если ответ от API возвращается как строка вместо объекта, вы можете используйте JSON.parse(YOUR_RESULTS)
, чтобы преобразовать вашу строку в объект.
Чтобы увидеть, являются ли результаты на самом деле строкой, вы можете выполнить YOUR_RESULTS.split("")
и посмотреть, будет ли возвращен массив. Вы также можете сделать console.log(typeof YOUR_RESULTS)
. Если это на самом деле строка, "string"
будет зарегистрирован в консоли.