未能将状态映射到reactjs中的props

时间:2018-03-29 06:39:45

标签: reactjs

我正在使用react-redux来改变我的反应应用程序的状态。我还使用authguard来阻止访问我的路由。我正在尝试使用react in react-redux来映射我当前的状态。

childRecyclerView.setNestedScrollingEnabled(false);

当我在状态中打印状态值时,它显示值1.但是当我使用' props.userLoginstatus'进行检查时,它总是返回false。这里的问题是什么?

1 个答案:

答案 0 :(得分:1)

props.userLoginStatus未正确使用,因为此处props指的是router props而不是PrivateRoute道具,您实际上可以解构userLoginStatus道具< / p>

import React from 'react';
import { connect } from 'react-redux'; 
import { Redirect,Route} from 'react-router-dom';

const PrivateRoute = ({ component: Component, userLoginStatus, ...rest }) => (
  <Route {...rest} render={(props) => (
   userLoginStatus==1
      ? <Redirect to='/home' />
      : <Component {...props} />
  )} />
)
const mapStateProps=(state)=> {
    console.log(state.loginDetails.status);
    return {
        userLoginStatus:state.loginDetails.status
    }
}
export default connect(mapStateProps)(PrivateRoute);