Я получаю сообщение об ошибке при попытке .map через массив из API - PullRequest
0 голосов
/ 25 апреля 2020

В настоящее время я пытаюсь перебрать массив, полученный от API.

Мой текущий код:

displayEmailList = () => {
    let emails = [...this.state.info.emails]

    return emails.map(email => {
      console.log(email)
    })
  }

Это мое состояние и асинхронная функция c:

state = {
        info: '',
        domain: 'homeadvisor.com'
    };

    async componentDidMount() {
        let info = await axios.get(
            `https://api.hunter.io/v2/domain-search?domain=${this.state
                .domain}&api_key=76056a7300959044150346f9d8dd3c5d6faef844`
        );

        this.setState({
            info: info.data.data
        });
    }

Полученное сообщение об ошибке:

TypeError: this.state.info.emails is not iterable

Однако, если я console.log (this.state.info)

Я ясно вижу, что у меня есть массив писем

enter image description here

1 Ответ

3 голосов
/ 25 апреля 2020

Ваше начальное значение info в вашем state является пустой строкой.

Инициализируйте свое состояние следующим образом:

state = {
    info: {email: []},
    domain: 'homeadvisor.com'
}
...