作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 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/
我是一名优秀的程序员,十分优秀!