问题描述
我有一个使用 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 (将#修改为@)