我在ReactJs Redux中遇到一个问题,我正在尝试使用来自Url的令牌调用API。如果API请求失败,它将更新recoverPasswordToken的状态为false。我想在失败的情况下重定向到主页。在当前情况下,它不等待API响应,如果条件代表recoverPasswordToken运行,则默认为空值。
useEffect(() => {
checkRecoverPasswordToken(match.params.token);
if (!recoverPasswordToken) {
console.log('working');
return <Redirect to="/" />
}
}, []);
我认为您可以使用历史api来代替重定向组件
import {useHistory} from "react-router"
//...
const history = useHistory()
useEffect(() => {
checkRecoverPasswordToken(match.params.token).then(()=>{
if (recoverPasswordToken) {
history.push("/")
}
});
}, []);