我有一个异步函数要在渲染之前调用
(异步函数获取firebase RemoteConfig,我想在渲染时使用该值)
现在,我具有以下结构
async componentDidMount() {
await remoteConfig.fetch()
}
问题在于,fetch
调用不能保证在render
之前被调用(在我的测试中)
如何确保在render()
之前获取数据?
答案 0 :(得分:0)
如果您想在渲染之前执行功能,我认为还有其他类似getDerivedStateFromProps的钩子。但是通常不建议在渲染之前调用api。使用componenDidMount很好,您应该像下面这样构造代码:
componentDidMount(async () => {const res = await fetch(//your api)})
收到数据后,您将调用this.setState
来更新状态并做出反应,将自动更新用户界面