Реагировать-выбрать асинхронные параметры не отображаются

Я хотел бы отобразить результаты поиска в моем списке react-select, когда пользователь нажимает эту опцию, он полностью загружает данные в таблицу ниже.

Вот мой loadIptions

getMovies(e){ 
axios.get(`http://www.omdbapi.com/?t=${e}`)
   .then((response) => {
    return {options: response.data.Title}
})
.catch((error) => {
    console.log(error);
  });
}

Я отправляю функцию в свой поиск:

    render() {
      return (
         <div className="container">
           <SearchForm onkeydown={this.getMovies}  />
           <MovieList movie={this.state.movie}/>
       </div>
 );
}

Однако я не могу отобразить это на входе, он остается в состоянии загрузки:

<Select.Async
 name="form-field-name"
 value=""
 loadOptions={this.props.onkeydown}
/>

Любые идеи, как я могу показать заголовок?


person Bomber    schedule 12.04.2017    source источник
comment
Вы уверены, что response.data.Title — это реальный массив значений? Вы также проверили, что ваше обещание возвращается   -  person KornholioBeavis    schedule 12.04.2017
comment
Я пытался вернуть это: return [{ value: response.data.imdbID, label: response.data.Title }];   -  person Bomber    schedule 12.04.2017
comment
Пожалуйста, проверьте ниже. Ваша функция на самом деле ничего не возвращает, просто делает вызов API. Также убедитесь, что response.data.Title является фактическим массивом значений.   -  person KornholioBeavis    schedule 12.04.2017


Ответы (1)


Ваша функция на самом деле ничего не возвращает

Измените это:

getMovies(e){ 
axios.get(`http://www.omdbapi.com/?t=${e}`)
   .then((response) => {
    return {options: response.data.Title}
})
.catch((error) => {
    console.log(error);
  });
}

To:

getMovies(e){ 
return axios.get(`http://www.omdbapi.com/?t=${e}`)
   .then((response) => {
    return {options: response.data.Title}
})
.catch((error) => {
    console.log(error);
  });
}
person KornholioBeavis    schedule 12.04.2017