如何在使用效果中管理两个函数



我正在使用useEffect来获取数据。在我的反应使用效果中,我在同一useEffect内部有一个函数profileApprove(false)和一个refresh()。我不希望刷新开始,直到配置文件批准(假(完成。目前,我有一个setTimeOut来处理等待个人资料为我批准。我通过 setTimeOut 得到了我想要的东西,但不确定如何正确处理这个问题。

export default function Profile() {
const {
profileApproved
} = profileContext();
function refresh() {
dispatch({ type: "FECTH_PROFILE", payload: { loading: true } });
}
React.useEffect(() => {
profileApproved(false);
setTimeout(() => {
refresh();
}, 1000);
}, []);

完成后,您的profileApprove方法会返回承诺吗?如果是这样,只需在调用刷新之前等待它

export default function Profile() {
const {
profileApproved
} = profileContext();
function refresh() {
dispatch({ type: "FECTH_PROFILE", payload: { loading: true } });
}
React.useEffect(() => {
profileApproved(false).then(refresh)
}, []);

最新更新