Конечная точка, из которой вы выполняете выборку, отправляет ответ как объект, при попытке setState
с вызовом this.setState({ value: data })
он устанавливает весь объект ответа как this.state.value
. Вот почему вы получаете сообщение об ошибке "this.state.value.map is not a function"
, потому что this.state.value
был заменен на object
вызовом setState
.
Я считаю, что вам нужно значение свойства results
из объекта ответа, который имеет правильный массив данных для пользователя. Вы можете просто изменить вызов setState
, чтобы установить значение как data.results
.
componentDidMount() {
fetch("https://randomuser.me/api/")
.then((res) => res.json())
.then((data) => this.setState({ value: data.results }));
}