undefined不是对象(评估this.props。* AnActionIMade *)REACT-REDUX

时间:2018-05-06 20:35:20

标签: reactjs redux react-redux redux-form

我使用“this.props.UpdateInfo(values);”

调用该操作

我使用了react-redux中的 connect 并实现了它,如下所示:

我在网上看过使用mapdispatchtoprops,但这也不起作用。 当我简单地使用UpdateInfo(值)调用它时,它可以工作但是不会调用返回(调度)内部的任何内容。

我也尝试了this.props.dispatch(UpdateInfo(values),这也不起作用。

根据评论,代码如下。

 personalinfo.js

 Registration2Submit(values) {
  this.props.UpdateInfo(values);
} me calling the function this is where it errors

 const mapStateToProps = state => {
return {
 loading: state.ques.loading,
 };
};

 export default connect(mapStateToProps, { UpdateInfo }) 
(RegisterInfo);`
 //my mapping and connecting the action and component. 

myactioncreator.js 

export const UpdateInfo = (Obj) => {
const { currentUser } = firebase.auth();
console.log('got here 0');
return (dispatch) => {
    console.log('got here 1');
    dispatch({ type: VALIDATING });
    firebase.database().ref(`/users/${currentUser.uid}/userinfo`)
        .push(Obj)
  };
 };
 // this is the action. when i run it without the this.props the first 
 console log registers

1 个答案:

答案 0 :(得分:0)

所以事实证明我忘了绑定Registration2Submit。这解决了错误。

Registration2Submit = (values) => {
   this.props.UpdateInfo(values);
};