Если я правильно понимаю ваш вопрос, то ответ заключается в том, чтобы изменить способ установки состояния при вызове setState()
следующим образом:
// replace [data] with just data
this.setState({ persons: data }, function() {
console.log(data); // working
});
Это корректно обновит поле persons
в вашем состоянии к массиву данных, возвращаемых из https://jsonplaceholder.typicode.com/users
, который будет запускать рендеринг для отображения списка person.name
значений:
render() {
return (<ul>
{ this.state.persons.map(person => (<li>{person.name}</li>))}
</ul>)
}