【发布时间】:2021-09-01 02:05:55
【问题描述】:
我想在 react 类组件中做一个异步函数,必须先完成。
我不想使用像componentDidMount这样的生命周期,所以我使用了这样的顶级等待:
let data;
(async () => {
data = await asyncRequest();
})();
class Test extends React.Component {
render() {
return <h1>Hello, {data}</h1>;
}
}
然而,在上面的代码中,即使使用了顶级等待,如果经过一定的时间,渲染在异步操作结束之前继续进行。
我该如何解决这个问题?
【问题讨论】:
-
为什么不想使用生命周期方法?他们是来解决这样的问题的。
-
异步函数和渲染函数同步运行。只有异步函数内部的代码才会异步运行。
标签: javascript reactjs typescript