React native Redux React Native:更新状态后未定义的对象

React native Redux React Native:更新状态后未定义的对象,react-native,redux,React Native,Redux,我已经设置了减速机、action和store,它们似乎工作得很好。但是,当我尝试通过this.props访问存储时,会得到未定义的对象。知道为什么会这样吗 Index.js: class Index extends React.Component { render() { console.log("##########################") console.log(this.props)

我已经设置了减速机、action和store,它们似乎工作得很好。但是,当我尝试通过this.props访问存储时,会得到未定义的对象。知道为什么会这样吗

Index.js:

class Index extends React.Component {
        render() {
                console.log("##########################")
                console.log(this.props)
                this.props.dispatchloggedInUser("User found");
                console.log(this.props.dispatchGetUser())
                console.log("###########################")

                return <Root/>;
            }
}
   function mapDispatchToProps(dispatch) {
        return {
            dispatchloggedInUser: (data) => dispatch(loggedInUser(data)),
            dispatchGetUser: () => dispatch(getUser())
        }
    }
    function mapStateToProps(state) {
        return {
            user: state.user
        }
    }

    export default connect(mapStateToProps, mapDispatchToProps)(Index)

查看您的根减速机-用户可能嵌套在
auth
或类似的目录下-以了解:

function mapStateToProps(state) {
    console.log(state);
    return {
        user: state.auth.user // or ?
    }
}

我认为你应该改变这一部分:

case LOGGED_IN: {
    console.log("Inside Logged IN")
    console.log(state)
    return [
        ...state,
       {
           user: action.data
       }
    ]
}


这当然是需要考虑的问题之一,但在我的案例中,它的设置是正确的。我能够解决它(更新了问题)!谢谢我能弄明白。基本上,如果您使用联合收割机减速器,请确保您考虑多级状态。
case LOGGED_IN: {
    console.log("Inside Logged IN")
    console.log(state)
    return [
        ...state,
       {
           user: action.data
       }
    ]
}
case LOGGED_IN: {
    console.log("Inside Logged IN")
    console.log(state)
    let user = action.data
    return {...state, user}
}