Причина .map()
заключается в том, что вы получаете возможность манипулировать элементами массива, получая доступ к каждому элементу и возвращая по-другому структуру. В случае React это помогает визуализировать правильные JSX элементы для метода render()
. Рекомендуется прочитать Списки и ключи из официальной документации React.
Читать из Array.prototype.map()
документация:
Метод map()
создает новый массив, заполненный результатами вызова предоставленной функции для каждого элемента в вызывающем массиве.
Первая проблема - неправильно переданы свойства setState()
, обратите внимание, что я использую :
вместо =
. Попробуйте изменить следующим образом:
this.setState({
isLoad: true,
items: JSON,
});
Кроме того, вы можете попробовать следующее - у вас было то же имя для текущего элемента, что и у самого массива - просто лучше иметь другое имя:
return <div>
<ul>
{items && items.map(e => <li key={e.name}> {e.name} </li>)}
</ul>
</div>
Надеюсь, это поможет!