Reactjs 身份验证问题-显示以前的用户数据
我对react/redux和身份验证有问题-身份验证部分工作正常,我可以登录和注销。当我与一个用户注销并与另一个用户登录时,就会出现问题-它偶尔会显示以前登录的用户的数据 我正在使用react和redux。我可以看到redux中的数据在注销时被清除,所有用户或用户配置文件信息都被删除。令牌也已从本地存储中正确删除。 当我使用不同的用户登录时,我可以在redux devtools中看到获取了正确的数据,但是,屏幕上显示的数据不同,是以前登录的用户的数据 如果我刷新页面,则会显示正确的信息 我的问题是,这些数据还存储在哪里?我需要清理的地方有缓存吗 我的减速机是这样的:Reactjs 身份验证问题-显示以前的用户数据,reactjs,react-redux,Reactjs,React Redux,我对react/redux和身份验证有问题-身份验证部分工作正常,我可以登录和注销。当我与一个用户注销并与另一个用户登录时,就会出现问题-它偶尔会显示以前登录的用户的数据 我正在使用react和redux。我可以看到redux中的数据在注销时被清除,所有用户或用户配置文件信息都被删除。令牌也已从本地存储中正确删除。 当我使用不同的用户登录时,我可以在redux devtools中看到获取了正确的数据,但是,屏幕上显示的数据不同,是以前登录的用户的数据 如果我刷新页面,则会显示正确的信息 我的问题
case LOGOUT:
localStorage.removeItem('token');
return{
...state,
user: null,
token: null,
isAuthenticated: false,
loading: false
};
我可以看到一切都像预期的那样被清除了。。我不确定数据来自何处?也许您可以解决重置redux状态的问题最终找到了它。。。我没有删除授权标头,这导致在重置标头之前使用以前的用户数据调用API,并使用正确的用户数据再次调用API。。。。有时数据返回的速度足够快,可以显示正确的用户登录…有时不能。 注销还原程序中的此行:
delete axios.defaults.headers.common['Authorization'];
解决了 你能发布你的代码吗?你的当前状态不知怎么被保留了下来。请确保在注销后清除所有与用户相关的状态(如userReducer或其他状态)。@saeedghotb我确实清除了我的reducer中的数据(请参阅上面更新的问题,其中显示了我的reducer中正是这样做的位)。我可以在devtools中看到我的redux存储看起来是空的,所以不确定数据保存在哪里?我也没有使用redux。有任何建议欢迎!:)谢谢,我试过了,但问题还是一样。。我已经在重置reducer中的所有用户状态,但我喜欢这样做,即在顶层完全重置它。无论如何,我可以在开发工具中看到我的存储是空的,所以我不知道它从哪里获取数据?请尝试清除浏览器缓存,或使用其他浏览器