Reactjs TypeError:\u this.props.onCreate不是函数
帮帮我,我对反应和Javascript是新手 获取此错误:“TypeError:\u this.props.onCreate不是函数”,尽管函数已在props中传递并已绑定 这是我在react中的当前代码Reactjs TypeError:\u this.props.onCreate不是函数,reactjs,Reactjs,帮帮我,我对反应和Javascript是新手 获取此错误:“TypeError:\u this.props.onCreate不是函数”,尽管函数已在props中传递并已绑定 这是我在react中的当前代码 UserCreate.js import React, { Component } from 'react'; class UserCreate extends Component { constructor(props){ super(props); this.sta
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
}
}
`;
UserCreate.js
从“React”导入React,{Component};
类UserCreate扩展组件{
建造师(道具){
超级(道具);
此.state={
电子邮件:“”
};
}
handleChange=电子邮件=>事件=>{
这是我的国家(
{
[电子邮件]:event.target.value,
}
)
}
handleCreate=()=>{
console.log('create',this.state.email);
this.props.onCreate({'email':this.state.email});
}
render(){
让userData=this.props.user&&this.props.user.email;
返回(
新用户表单
创造
);
}
}
导出默认用户创建;
App.js
const USerCreateWithData=compose(
graphql(UserCreateMutation{
道具:(道具)=>({
onCreate:(用户)=>{
变异({
变量:{…用户},
optimisticResponse:()=>({createUser:{…user,uu typename:'user'})
})
}
}
),
选项:{
更新:(dataProxy,{data:{createUser}})=>{
}
}
})
)(用户创建);
用户创建变异
导出默认gql`
变异UserCreateMutation($email:String!){
createUser(
电子邮件:$email
) {
__字体名
身份证件
电子邮件
}
}
`;
我在这里做错了什么?我已经尝试了我在google上看到的所有解决方案,stackoverflow,但还没有找到解决方案。onCreate不是一个事件吗?我想是的,我不太熟悉下面的教程从导入和使用它的文件中添加代码片段component@AnshulSahni我添加了更多的代码。