React ожидает, что .map для итеративного рендеринга будет работать только с массивом элементов.
Следовательно, изменение ввода json для возврата массива элементов поможет решить проблему.
Существующий ввод, который не работает с .map:
"entry" : { "1" : [....], "2" : [....] } --> Input is not an array of items.
--> .map does not support this format
Как заставить его работать с .map ?
"entry" : [ {"1" : {....} , {"2" : {....} ] --> Input is an array of items.
--> .map works with this format
Дополнительно: как избежать ошибки «нулевое значение» в методе рендеринга?
Метод рендеринга должен явно проверять нулевое условие перед попыткой для рендеринга элементов. Это можно сделать следующим образом:
render(){
return(
<div>
<ul>
{ (this.state.entry) &&
this.state.entry.map( x => (
<li>
...
</li>
))
}
</ul>
</div>
)
}