如何解决刷新后未设置 useState
我有一个使用 ReactJS 和 Parse Server 的应用程序。但是我从 API 传递的数据在刷新页面后没有设置。这是我的代码
import React,{ useState } from 'react';
import PropTypes from 'prop-types';
import { withRouter } from 'react-router-dom';
import Parse from 'parse';
const AuthContext = React.createContext({});
const AuthContextProvider = ({ children }) => {
const [user,setUser] = useState(null);
const [isLoggingIn,setLoginLoading] = useState(null);
const [loginError,setLoginError] = useState(null);
const [isAuthenticated,setIsAuthenticated] = useState(Parse.User.current());
const setUserSession = currentUser => {
setIsAuthenticated(currentUser);
setLoginLoading(false);
setLoginError(null);
};
const handleLogin = async values => {
setLoginLoading(true);
setLoginError(null);
setSessionError(false);
try {
const res = await Parse.Cloud.run('login',values);
setUser(res); // THIS IS THE DATA I WANT TO GET FROM THE API
Parse.User.become(res.session).then(setUserSession,() => {
setLoginError(TOKEN_VERIFY_ERROR);
setLoginLoading(false);
});
setLoginLoading(false);
} catch (e) {
setLoginLoading(false);
setLoginError(e.message);
}
};
};
return (
<AuthContext.Provider
value={{
user,login: handleLogin,isLoggingIn,isAuthenticated,loginError,}}
>
{children}
</AuthContext.Provider>
);
const AuthProvider = withRouter(AuthContextProvider);
export { AuthContext,AuthProvider };
AuthContextProvider.propTypes = {
children: PropTypes.node,};
登录后,用户在那里,但当我刷新它时,它返回空值。我该怎么做才能保留详细信息?我避免将其设置为 localStorage。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。