我试图使用反应v4和axios发布帖子,我正在关注this tutorial,我完全按照他说的做了,但我收到错误: 也许是因为我使用了另一个版本的反应,怎么能解决它?
道具类型失败:
userSignupRequest
类型的道具function
无效 提供给SignUp
,期望一个ReactElement。
这是我的代码:
import React from 'react';
import SignUpForm from './SignUpForm';
import { connect } from 'react-redux';
import { userSignupRequest } from '../../actions/signupActions';
import PropTypes from 'prop-types';
class SignUp extends React.Component{
render(){
const { userSignupRequest } = this.props;
return(
<SignUpForm userSignupRequest={userSignupRequest}/>
);
}
}
SignUp.propTypes = {
userSignupRequest: PropTypes.element.isRequired
}
export default connect(null, { userSignupRequest })(SignUp);
SignUp操作:
import axios from 'axios';
import Constants from '../components/Constants'
export function userSignupRequest(userData) {
return dispatch => {
return axios.post(Constants.URL_REGISTER, userData);
}
}
答案 0 :(得分:2)
您的PropTypes中是否有element
而不是func
?
SignUp.propTypes = {
userSignupRequest: PropTypes.func.isRequired
}