如何解决Redux存储包含正确的状态,但似乎是错误的
我的状态有问题。我有一个PrivateRoute
import React from 'react';
import { Route,Redirect } from 'react-router-dom';
import { connect } from 'react-redux';
const PrivateRoute = ({
component: Component,auth: { isAuthenticated },...rest
}) => {
return (
<Route
{...rest}
render={(props) =>
isAuthenticated ? <Component {...props} /> : <Redirect to='/login' />
}
/>
);
};
const mstp = (state) => ({
auth: state.auth,});
export default connect(mstp)(PrivateRoute);
并且在我的redux devtools中,状态显示isAuthenticated
是true
但是,如果我要在isAuthenticated
组件中控制台日志PrivateRoute
,它会显示null
,这是我将其设置为的默认初始状态。我不知道这是否是一个常见问题,但是我的redux devtools如何具有正确的状态,但是由于某种原因,当我将状态映射到props时,该状态与我的redux devtools中显示的内容不匹配,并且似乎是默认为我的初始状态
要检查isAuthenticated
的值,我将console.log(isAuthenticated)放在PrivateRoute
组件中返回值的前面。
我也尝试过在...
const mstp = (state) => {
console.log(state.auth)
return {
auth: state.auth,}
};
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。