我正在使用 useEffect
来获取数据。在我的 React 使用效果中,我在同一个 useEffect
中有一个函数 profileApprove(false)
和一个 refresh()
。我不希望在 profileApprove(false) 完成之前开始刷新。目前,我有一个 setTimeOut
来为我处理对 profileApprove 的等待。我通过 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
方法在完成后是否返回 promise ?如果是这样,请在调用刷新之前等待它
export default function Profile() {
const {
profileApproved
} = profileContext();
function refresh() {
dispatch({ type: "FECTH_PROFILE", payload: { loading: true } });
}
React.useEffect(() => {
profileApproved(false).then(refresh)
}, []);
关于javascript - 如何在 useEffect 中管理两个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59689034/