Javascript 如何使用contextAPI在分派中使用Wait?
我在将用户重定向到仪表板时遇到问题,我只想确保发送完成,然后开始将用户重定向到另一个页面。但我不知道怎么做。我是新来的,所以请帮助我Javascript 如何使用contextAPI在分派中使用Wait?,javascript,reactjs,Javascript,Reactjs,我在将用户重定向到仪表板时遇到问题,我只想确保发送完成,然后开始将用户重定向到另一个页面。但我不知道怎么做。我是新来的,所以请帮助我 const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const { dispatch } = useContext(AuthContext); const location = useLoca
const [email, setEmail] = useState("");
const [password, setPassword] = useState("");
const { dispatch } = useContext(AuthContext);
const location = useLocation();
const history = useHistory();
const submit = (e) => {
e.preventDefault();
axios
.post(`${process.env.REACT_APP_API_URL}/auth/login`, { email, password })
.then((response) => {
dispatch({
type: "LOGIN_USER",
payload: response.data.token,
});
let { from } = location.state || { from: { pathname: "/" } };
history.replace(from);
})
.catch((error) => {
console.log(error);
});
};
const reducer=(状态、操作)=>{
开关(动作类型){
案例“登录用户”:
setItem(“token”,action.payload.token);
打破
案例“注销”:
sessionStorage.removietem(“令牌”);
打破
违约:
抛出新错误();
}
};
const AuthProvider=(道具)=>{
const[state,dispatch]=useReducer(减速机);
const[isLoggedIn]=useState(!!sessionStorage.getItem(“令牌”);
返回(
....
感谢任何解决方案!原因是调度将在下一个周期完成。因此,您不能立即执行操作 据我所知,基于您的代码,可能有两种方法
历史记录。在登录\u用户
操作中替换
。以便在设置令牌后,执行重定向
case "LOGIN_USER":
sessionStorage.setItem("token", action.payload.token);
action.payload.callback()
break;
顺便说一句,我也注意到,你的负载需要是一个对象,例如
{ token: ..., }
原因是调度将在下一个周期完成,所以您不能立即执行 据我所知,基于您的代码,可能有两种方法
历史记录。在登录\u用户
操作中替换
。以便在设置令牌后,执行重定向
case "LOGIN_USER":
sessionStorage.setItem("token", action.payload.token);
action.payload.callback()
break;
顺便说一句,我也注意到,你的负载需要是一个对象,例如
{ token: ..., }