Перенос ответов на запрос axios в массив

Кто-нибудь предложил что-то подобное? Просто идея для горизонтального меню ...

часть HTML


часть CSS

/* hide parent backgrounds... */
.parent-background {
  display: none; }

/* ... and show it when hover on children */
.item:hover + .parent-background {
  display: block;
  position: absolute;
  z-index: 10;
  top: 0;
  width: 100%; }

Обновлено демо и остальные кода

Другой пример , как использовать его с текстовыми вводами - выберите родительский набор полей

1
задан DrummerGenius 28 March 2019 в 04:20
поделиться

3 ответа

Я рекомендую Promise.all, он разрешит одно Обещание после того, как все обещания будут выполнены. И технически асинхронная функция также является обещанием, поэтому она будет возвращать обещание.

вот пример.

https://codesandbox.io/s/jzz1ko5l73?fontsize=14

0
ответ дан Kyaw Kyaw Soe 28 March 2019 в 04:20
поделиться

Поскольку getRegistrations(event) возвращает обещание, вы должны выполнить операции с его возвращаемым значением внутри then.

Вместо

let registrations = this.getRegistrations(event);
console.log(registrations);

Сделайте это

this.getRegistrations(event).then(registrations => {
  console.log(registrations);
  // other operations on registrations
});
0
ответ дан Prithviraj Sahu 28 March 2019 в 04:20
поделиться

Вам необходимо использовать componentDidMount() метод жизненного цикла для правильного выполнения и состояние для хранения данных.

constructor (props) {
   super(props);
   this.state = {registrations :[]}
}
componentDidMount () {
    let response = this.getRegistrations()
    this.setState({registrations : response});
}

Затем доступ к этому состоянию в методе рендеринга. Это не очень хорошая практика вызывать API из рендеринга.

0
ответ дан Amol B Jamkar 28 March 2019 в 04:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: