Reactjs TypeError:操作执行时分派

Reactjs TypeError:操作执行时分派,reactjs,react-native,redux,react-redux,Reactjs,React Native,Redux,React Redux,在此my action中,用户从我的应用程序中注销的信息将导出到react中 export const logoutUser = () => { return dispatch => { dispatch( { type: LOGOUT_USER } ) .then(() => { logoutUserSuccess(dispatch, ) }) .catch((er

在此my action中,用户从我的应用程序中注销的信息将导出到react中

export const logoutUser = () => {
  return dispatch => {
    dispatch(
      {
        type: LOGOUT_USER
      }
    )
      .then(() => {
        logoutUserSuccess(dispatch, )
      })
      .catch((err) => {
        logoutUserError(err, dispatch)
      })
  }
}

const logoutUserSuccess = (dispatch) => {
  dispatch(
    {
      type: LOGOUT_USER_SUCCESS
    }
  )
  AsyncStorage.removeItem('@token_jwt')
  console.log('saiu')
  Actions.loginScreen()
}

const logoutUserError = (err, dispatch) => {
  dispatch(
    {
      type: LOGOUT_USER_ERROR
    }
  )
  Alert.alert('Erro ao sair da conta')
  console.log(err)
}
这是我的减速机

case LOGOUT_USER:
return {
    ...state
}
        case LOGOUT_USER_SUCCESS:
return {
    INITIAL_STATE
}
        case LOGOUT_USER_ERROR:
return {
    ...state
}
我的屏幕要注销吗

 onLogout() {
      this.props.logoutUser()
  }

const mapStateToProps = state => (
  {
    email: state.Authentication.email
  }
)

export default connect(mapStateToProps, { logoutUser })(Home)
返回值为以下错误


我将电子邮件放在MapStateTrops上,因为我不知道如何将其留空,对我来说重要的是注销

您可以尝试创建一个
mapDispatchToProps
函数,并从函数内部调度操作
logoutUser
,并将其作为第二个参数传递给
connect

在执行此操作时,您可以在
onLogout
函数中从
mapDispatchToProps
调用
LogoutUser

import {logoutUser} from './youractions.js'

onLogout() {
  this.props.LogoutUser();
}

const mapDispatchToProps = (dispatch) => ({
  LogoutUser: () => dispatch(logoutUser()),
});

export default connect(null, mapDispatchToProps)(Home);

你能解释一下什么是msm错误吗?或者更好,你能旋转一个沙箱吗?因此,可以快速跟踪错误,或者如果您有GitHub repo,我可以查看它。当我单击注销时,我出现了这个错误。错误消息现在是:TypeError:dispatch(…)。then不是我在操作中设法调整的函数,而不是在then and catch中,我将try和catch设置为null,而不是将地图状态传递给props,调整您的答案,这样我就可以把它设置为正确,因为它有帮助