componentDidMount()
在React Native中用作异步函数是一种好习惯还是应该避免呢?
我需要从AsyncStorage
安装组件时获取一些信息,但是我知道使之成为可能的唯一方法是使componentDidMount()
函数异步。
async componentDidMount() {
let auth = await this.getAuth();
if (auth)
this.checkAuth(auth);
}
这有什么问题吗,还有其他解决方案吗?
实际上,建议在ComponentDidMount中进行异步加载,因为React从传统的生命周期方法(componentWillMount,componentWillReceiveProps,componentWillUpdate)转移到了Async Rendering。
这篇博客文章对解释为什么这样做安全并且在ComponentDidMount中提供异步加载示例非常有帮助:
https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html