Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 身份验证问题-显示以前的用户数据_Reactjs_React Redux - Fatal编程技术网

Reactjs 身份验证问题-显示以前的用户数据

Reactjs 身份验证问题-显示以前的用户数据,reactjs,react-redux,Reactjs,React Redux,我对react/redux和身份验证有问题-身份验证部分工作正常,我可以登录和注销。当我与一个用户注销并与另一个用户登录时,就会出现问题-它偶尔会显示以前登录的用户的数据 我正在使用react和redux。我可以看到redux中的数据在注销时被清除,所有用户或用户配置文件信息都被删除。令牌也已从本地存储中正确删除。 当我使用不同的用户登录时,我可以在redux devtools中看到获取了正确的数据,但是,屏幕上显示的数据不同,是以前登录的用户的数据 如果我刷新页面,则会显示正确的信息 我的问题

我对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中的所有用户状态,但我喜欢这样做,即在顶层完全重置它。无论如何,我可以在开发工具中看到我的存储是空的,所以我不知道它从哪里获取数据?请尝试清除浏览器缓存,或使用其他浏览器