反应形式无法识别输入的输入

时间:2017-03-07 20:32:35

标签: javascript forms reactjs render jsx

您好我正在创建一个带有名称和消息的简单表单。提交后,我希望通过电子邮件发送给自己。我已经设置了框架,但由于某种原因我无法输入字段。不知道我在这里缺少什么。使用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;

1 个答案:

答案 0 :(得分:1)

handleChange方法中使用此功能:

  this.setState({
        formValues
    });

而不是:

  this.setState=({
        formValues
    });