Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在reactjs中处理多个文本值_Javascript_Reactjs - Fatal编程技术网

Javascript 如何在reactjs中处理多个文本值

Javascript 如何在reactjs中处理多个文本值,javascript,reactjs,Javascript,Reactjs,handleText=e=>{ 这是我的国家({ 文本:e.target.value }) } 名字* 姓 电子邮件Id* 手机号码 它只处理一个值。如何为多个值编写事件 它只处理一个值。如何为多个值编写事件 它只处理一个值。如何为多个值编写事件 它只处理一个值。如何为多值编写事件处理输入更改是react中的常见做法。您应该提供输入字段的名称属性。然后将您的handleText功能设置为: handleText = event => { const { name, value }

handleText=e=>{
这是我的国家({
文本:e.target.value
})
}
名字*
姓
电子邮件Id*
手机号码
它只处理一个值。如何为多个值编写事件
它只处理一个值。如何为多个值编写事件
它只处理一个值。如何为多个值编写事件

它只处理一个值。如何为多值编写事件处理输入更改是
react
中的常见做法。您应该提供
输入
字段的
名称
属性。然后将您的
handleText
功能设置为:

handleText = event => {
    const { name, value } = event.target;
    this.setState({[name]: value});
}
请确保
状态
对象的属性与输入字段的名称属性完全相同

例如,如果您有两个输入字段,那么
jsx
将如下所示:

<input type='text' name='first_name' onChange={this.handleText} value={this.state.first_name} />
<input type='text' name='last_name' onChange={this.handleText} value={this.state.last_name} />

有很多方法可以做到这一点,最简单的方法是:

handleText=(key, value)=>{
    this.setState({
        [key] : value
    })
}

        <input type="text" 
            onChange={(e) => this.handleText('firstname',e.target.value)} 
            id="inputText"
            value={this.state.firstname}
        />

        <input type="text" 
            onChange={(e) => this.handleText('lastname',e.target.value)} 
            id="inputText"
            value={this.state.lastname}
        />
handleText=(键,值)=>{
这是我的国家({
[键]:值
})
}
this.handleText('firstname',e.target.value)}
id=“输入文本”
值={this.state.firstname}
/>
this.handleText('lastname',e.target.value)}
id=“输入文本”
值={this.state.lastname}
/>

这里我要做的是根据输入字段传递状态的键和值。

您的
状态
需要每个受控输入的属性。然后使用currying:
handleText=field=>e=>this.setState({[field]:e.target.value})
现在你可以使用
onChange={this.handleText(“email”)}
我对这一点很陌生,我了解onChange事件,我对编写handleText事件感到困惑,你能用一个handleText字段来展示示例吗
handleText=(key, value)=>{
    this.setState({
        [key] : value
    })
}

        <input type="text" 
            onChange={(e) => this.handleText('firstname',e.target.value)} 
            id="inputText"
            value={this.state.firstname}
        />

        <input type="text" 
            onChange={(e) => this.handleText('lastname',e.target.value)} 
            id="inputText"
            value={this.state.lastname}
        />