TypeError:_this.props.onCreate不是函数

时间:2018-06-07 07:07:45

标签: reactjs

帮帮我,我是React和Javascript的新手

获取此错误:“ TypeError:_this.props.onCreate不是函数”,尽管该函数已在道具中传递并已被绑定。

这是我当前的反应代码。

UserCreate.js

import React, { Component } from 'react';

class UserCreate extends Component {

constructor(props){
    super(props);

    this.state = {
        email: ''
    };
}

handleChange = email => event => {
    this.setState(
        {
            [email]: event.target.value,
        }
    )
}

handleCreate = () => {
    console.log('create', this.state.email);
    this.props.onCreate({'email': this.state.email});
}

render() {
    let userData = this.props.user && this.props.user.email;
    return (
       <div>
         <h3> New User Form </h3>
        <input onChange={this.handleChange('email')} placeholder="Email"/>
        <button onClick={this.handleCreate}>Create</button>
      </div>
    );
}
}

export default UserCreate;

    App.js
    const USerCreateWithData = compose(
  graphql(UserCreateMutation, {
    props: (props) => ({
      onCreate: (user) => {
        props.mutate({
          variables: { ...user },
          optimisticResponse: () => ({ createUser: { ...user, __typename: 'User'}})
        })
      }

    }  
    ),
    options: {
      update: (dataProxy, { data: { createUser }}) => {

      }
    }
  })
)(UserCreate);

UserCreateMutation
export default gql`
mutation UserCreateMutation($email: String!){
    createUser(
        email: $email
    ) {
        __typename
        id
        email
    }
}
`;

我在这里做错了什么?我已经尝试了我在google上看到的所有解决方案,stackoverflow但还没有找到解决方案。

0 个答案:

没有答案