React native 在登录后反应本机redux stateTrops在呈现前不更新

React native 在登录后反应本机redux stateTrops在呈现前不更新,react-native,redux-form,React Native,Redux Form,在登录并重定向到主页组件后,我在此呼叫: mapStateToProps = (state) => ({ getUser: state.userReducer.getUser }); 并尝试呈现该值: render() { const {getUser: {userDetails}} = this.props; return( <View><Text>{userDetails.EmployeeID}</Text>&l

在登录并重定向到主页组件后,我在此呼叫:

mapStateToProps = (state) => ({
    getUser: state.userReducer.getUser
});
并尝试呈现该值:

render() {
    const {getUser: {userDetails}} = this.props;
    return(
      <View><Text>{userDetails.EmployeeID}</Text></View>
    )
}
const getUser=(state={},action)=>{

}

导出默认合并器({ getUser });

和登录用户操作

export const loginUser = (payload) => {
return async (dispatch) => {

    try {
      dispatch({
        type: "LOGIN_USER_LOADING"
      });
      const response = await fetchApi("front/authentication/login", "POST", payload, 200);

      if(response.responseBody.status) {
        dispatch({
            type: "LOGIN_USER_SUCCESS",
        });
        dispatch({
            type: "AUTH_USER_SUCCESS",
            token: response.token
        });
        dispatch({
            type: "GET_USER_SUCCESS",
            payload: response.responseBody.data
        });
        return response.responseBody.status;
      } else {
        throw response;
      }

    } catch (error) {
        dispatch({
            type: "LOGIN_USER_FAIL",
            payload: error.responseBody
        });
        return error;
    }
}
}

但是得到一个错误:

TypeError:Undefined不是对象(正在评估“userDetails.EmployeeID”

如果我删除
userDetails.EmployeeID
并导航到下一页,然后返回,则会显示
EmployeeID
很好。

试试这种方法

render() {
const {getUser} = this.props;
return(
  <View><Text>{getUser.userDetails.EmployeeID}</Text></View>
)}
render(){
const{getUser}=this.props;
返回(
{getUser.userDetails.EmployeeID}
)}

如果这不起作用,请发布redux代码

如果您的初始状态解析为
userDetails
的“falsy”,您可以“等待”它的值:

render() {
    const {getUser: {userDetails}} = this.props;
    return <View>
        <Text>{userDetails ? userDetails.EmployeeID : 'Loading'}</Text>
    </View>
}
render(){
const{getUser:{userDetails}}=this.props;
返回
{userDetails?userDetails.EmployeeID:'Loading'}
}

用户reducer的初始状态是什么??您可以发布您的
用户reducer
吗?谢谢,我已经用reducer和登录用户操作更新了问题。谢谢,请用reducer和登录用户操作检查更新的问题
render() {
const {getUser} = this.props;
return(
  <View><Text>{getUser.userDetails.EmployeeID}</Text></View>
)}
render() {
    const {getUser: {userDetails}} = this.props;
    return <View>
        <Text>{userDetails ? userDetails.EmployeeID : 'Loading'}</Text>
    </View>
}