请注意,我已经检查了this个问题的答案,似乎没有任何作用。
我正在使用this回购作为样板。我正在尝试将用户名和带有firebase auth userid的电子邮件而不是firebase数据库发送到节点服务器。我创建了一个动作创建者signup
来解决这个问题。
这是signup.js
动作的创建者
import * as types from '../constants/action_types';
import axios from 'axios';
export const signup = (user) => {
console.log(user);
return async dispatch => {
try {
const response = await axios.get('http://localhost:5000/api/user/register', user)
const data = await {response};
dispatch({
type : types.SIGN_UP,
payload : data.fromback
})
} catch (error) {
console.lot(error)
}
}
}
然后我将其与具有mapDispatchToProps
的组件连接起来,因此,在SignUpPage
组件下,React开发工具将{{1}}显示为一个函数。但是当它被触发时,它会给出一个错误,提示signup
为什么会这样?
这是我的_this2.props.signup is not a function
组件
SignUpPage
答案 0 :(得分:1)
它不是道具, 您已将其作为函数导入, 您可以直接将其用作此类功能
import {signup} from './../../actions/signup';
.....
auth.doCreateUserWithEmailAndPassword(email, passwordOne)
.then(authUser => {
const userid = authUser.user.uid;
const user = { email, userid };
signup(user);
})
.catch(error => {
this.setState(updateByPropertyName('error', error));
});