以React形式复制输入

时间:2018-07-09 16:08:48

标签: javascript reactjs ecmascript-6

我有React应用。 还有一些带有输入的表单,我想添加按钮和功能,当我们单击时,可以在表单中添加新的输入。 可是我不知道吗我该怎么做。在本机js中,我可以在带有某些类或ID的父块中使用create元素和appendchild。但是在反应中((

library(tidyverse)
reduce(li, `+`)/length(li)

1 个答案:

答案 0 :(得分:0)

您需要调整数据的形状以在React中产生所需的结果。

例如,如果我试图产生此处的两个输入,则我的状态将如下所示:

this.state = {
    inputs: [{
        name: 'first',
        autoFocus: true,
        type: 'text',
        value: '1'
    }, {
        name: 'second',
        autoFocus: false,
        type: 'text',
        value: '2'
    }]
};

然后在我的render()函数中,我将执行以下操作:

render() {
    return (
        <div>
            <h1>Form</h1>
            <form onSubmit = { this.onSubmit } action="/form" method="post">
                <div>
                   {
                       this.state.inputs.map((input) => (
                           <input type={input.type} value={input.value} name={input.name} autoFocus={input.autoFocus} onChange={this.handleInputOnChange} />
                       );
                   }
                </div>

                <button onClick={this.handleDouble}>Double</button>
                <button>Submit</button>
            </form>
        </div>
    );
}

这将为this.state.inputs的每个索引产生1个输入