реагирует на недопустимую попытку распространения не повторяемого экземпляра - PullRequest
0 голосов
/ 24 февраля 2019

Я получаю эту ошибку: Ошибка типа: недопустимая попытка распространения не повторяемого экземпляра , пока я пытаюсь получить некоторые данные здесь:

export const genres = () => {
  const apiUrl = "http://localhost:3000/api";

  return fetch(apiUrl + "/genres")
    .then(response => response.json())
    .then(data => {
      const res = Array.from(data.results);
      return res;
    });   
};
console.log(genres)

export function getGenres() {
  return genres().then(res => res.filter(g => g));
}

и обновление состояниямоего компонента здесь:

componentDidMount() {
    const genres = [{ _id: "", name: "All Genres" }, ...getGenres()];
    this.setState({ genres});

  }

Я знаю, что проблема возникает из-за того, что жанры возвращают объект, а состояние должно быть массивом, но я не уверен, как это исправить.

Спасибо

1 Ответ

0 голосов
/ 24 февраля 2019

getGenres возвращает обещание, поэтому вам нужно дождаться его разрешения, прежде чем пытаться перевести полученное из него в состояние.

componentDidMount() {
  getGenres().then(res => {
    const genres = [{ _id: "", name: "All Genres" }, ...res];
    this.setState({ genres });
  })
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...