React: Как отобразить данные ответа API в данных: Array (i) для реагирования на внешний интерфейс? - PullRequest
0 голосов
/ 04 июня 2019

Мне нужно получить names of the books written by a particular author, где author name предоставляется через get запрос.

Мой API работает нормально и получает соответствующие данные.В этом сценарии я получаю ответ API JSON для more than one book.

Ответ API JSON:

[
    {
        "_id": "5cf40d9d74df260aa460a74b",
        "name": "Oliver Twist",
        "author": "Charles Dickens",
        "yearOfPublication": "1839",
        "__v": 0
    },
    {
        "_id": "5cf4115b4b557126a02c6087",
        "name": "David Copperfield ",
        "author": "Charles Dickens",
        "yearOfPublication": "1850",
        "__v": 0
    },
    {
        "_id": "5cf412c54b557126a02c6088",
        "name": "A Christmas Carol ",
        "author": "Charles Dickens",
        "yearOfPublication": "1843",
        "__v": 0
]

Я пытался использовать const books = this.state.data.toString(); и обращаться к именам книг через {books.name}, но он не выводит названия книг.Однако, когда I console.log(), response.data также успешно выводит соответствующие данные в виде:

0: {_id: "5cf40d9d74df260aa460a74b", name: "Oliver Twist", author: "Charles Dickens", …}
1: {_id: "5cf4115b4b557126a02c6087", name: "David Copperfield ", author: "Charles Dickens", …}
2: {_id: "5cf412c54b557126a02c6088", name: "A Christmas Carol ", author: "Charles Dickens", …}

Может ли кто-нибудь предложить подходящий способ вывода этих значений, чтобы он также реагировал на интерфейс?Заранее спасибо.

1 Ответ

1 голос
/ 04 июня 2019

Вам не нужен .toString ().

Поскольку у вас есть какой-либо массив, вам нужно указать, какой элемент вы хотите или отобразить в массиве.

console.log(this.state.data[0].name);

// or to log all names
this.state.data.map(item => console.log(item.name));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...