异步React组件生命周期方法

时间:2020-01-23 17:04:34

标签: javascript reactjs

如果React组件上的生命周期方法标记为async,它们是否有区别对待?

    default class MyComponent extends Component {
      state = {};

      async componentDidMount() {
        await this.fillQuestions();
      }
    }

1 个答案:

答案 0 :(得分:1)

调用它们的方式没有什么区别。 $('#salt_type').bind('change', function() { var value = $(this).find(':selected').val(); $('#pack_weight option').each(function() { $(this).prop('disabled', !$(this).hasClass(`show-if-${ value }`)); }); }); 仅表示该函数将返回Promise。,由于React不期望任何返回值,因此从React的角度来看,两者之间没有区别。

但是,当您想async在生命周期挂钩中获得其他承诺时,可以使用async

请看以下中篇文章: https://medium.com/front-end-weekly/async-await-with-react-lifecycle-methods-802e7760d802