我与反应工作,并以下教程表单提交了一把,我碰上我的控制台这个问题:获取一个event.preventDefault();不是一个功能。为什么它不是一个功能?
contact.js:67 Uncaught TypeError: event.preventDefault is not a function(…)
这里是我的代码:
contact.js
class ContactForm extends Component {
constructor(props) {
super(props);
this.handleSubmit = this.handleSubmit.bind(this);
this.state = { open: false };
}
handleSubmit(event) {
console.log('hello');
event.preventDefault();
}
handleTouchTap =() => {
this.setState({ open: true });
}
handleRequestClose =() => {
this.setState({ open: false });
}
render() {
return(
<div>
<Paper className="Form" zDepth={2}>
<Formsy.Form onSubmit={this.handleSubmit}>
<FormsyText
name="Enter Name"
floatingLabelText="Enter your name"
/>
<FormsyText
name="Enter email address"
floatingLabelText="Enter your email address"
/>
<FormsyText
name="message"
floatingLabelText="What can I do for you?"
/>
<RaisedButton onTouchTap={this.handleTouchTap}
type="submit"
label="Submit your message"
primary={true}
/>
<Snackbar
open={this.state.open}
message="Thank your for submitting your message. I'll get back to you as soon as I can!"
autoHideDuration={2000}
onRequestClose={this.handleRequestClose}
/>
</Formsy.Form>
</Paper>
</div>
);
}
}
export { ContactForm };
正如你可以看到我的代码和我所知道的,我已经正确地将handleSubmit
绑定到我的ContactForm
,并且应该在onSubmit
处理程序上正确调用它this.handleSubmit
。我在这里可能会错过什么?