我使用“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
答案 0 :(得分:0)
所以事实证明我忘了绑定Registration2Submit。这解决了错误。
Registration2Submit = (values) => {
this.props.UpdateInfo(values);
};