您好我正在创建一个带有名称和消息的简单表单。提交后,我希望通过电子邮件发送给自己。我已经设置了框架,但由于某种原因我无法输入字段。不知道我在这里缺少什么。使用onChange。
import React, { Component, PropTypes } from 'react'
class Contact extends Component {
constructor(props) {
super(props)
this.state = {
formValues: {
name: '',
message: ''
}
}
}
handleChange(event) {
let formValues = this.state.formValues;
let name = event.target.name;
let value = event.target.value;
formValues[name] = value;
this.setState=({
formValues
});
}
handleSubmit(event) {
event.preventDefault();
console.log("NEW FORM VALUES " + this.state.formValues.name + " " + this.state.formValues.messsage);
const {name, message} = this.formValues;
}
render() {
return (
<div>
<form onSubmit={this.handleSubmit.bind(this)}>
<label>Name:
<input type="text" name="name" placeholder="Name" value={this.state.formValues["name"]} onChange={this.handleChange.bind(this)} />
</label> <br />
Message: <br />
<textarea type="text" name="message" placeholder="Message..." value={this.state.formValues["message"]} onChange={this.handleChange.bind(this)}></textarea> <br />
<input type="submit" value="Submit" />
</form>
</div>
)
}
}
export default Contact;
答案 0 :(得分:1)
在handleChange
方法中使用此功能:
this.setState({
formValues
});
而不是:
this.setState=({
formValues
});