失败的道具类型:提供预期单个ReactElement的“函数”类型的无效道具

时间:2018-04-10 14:11:39

标签: reactjs react-redux reactive-programming

我试图使用反应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);
  }
}

1 个答案:

答案 0 :(得分:2)

您的PropTypes中是否有element而不是func

SignUp.propTypes = {
  userSignupRequest: PropTypes.func.isRequired
}