Почему Ax ios .get дает мне [объект объекта] - PullRequest
0 голосов
/ 15 февраля 2020

Я пытаюсь получить объект JSON в массив для отображения в таблице, однако он выдает ошибку: TypeError: this.state.allVersions.map не является функцией.

componentDidMount()
{
    axios.get('http://localhost:5000/myblog/' + this.props.match.params.id).then(res =>
    {
        console.log(res.data);
        this.setState({allVersions: res.data});
        console.log(this.allVersions)
    }).catch((err) =>
    {
        console.log(err);
    })
}

Здесь я пытаюсь использовать конечную точку, чтобы получить объект JSON, и в первом журнале консоли он дает мне правильные данные, но во втором журнале консоли он дает мне [объект объекта].

Кроме того,

{console.log("state of all versions: " + this.state.allVersions)}

дает мне [объект объекта], но если я сделаю

{console.log(this.state.allVersions)}

, он получит мне правильные данные? Почему удаление строки делает это?

1 Ответ

0 голосов
/ 15 февраля 2020

Объединение строки и объекта приведет к преобразованию объекта в строку, а не в JSON. Вместо этого вы хотели бы преобразовать ваш объект в JSON до объединения.

enter image description here

, поэтому в вашем коде он будет выглядеть как

console.log("state of all versions: " + JSON.stringify(this.state.allVersions))
...