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 手动输入以进行反应。如何将[e.target.name]连接到另一个字符串_Javascript_Reactjs_Ecmascript 6 - Fatal编程技术网

Javascript 手动输入以进行反应。如何将[e.target.name]连接到另一个字符串

Javascript 手动输入以进行反应。如何将[e.target.name]连接到另一个字符串,javascript,reactjs,ecmascript-6,Javascript,Reactjs,Ecmascript 6,我想通过在[name]后面追加字符串“pristine”来设置状态。 示例:根据e.target.name,在handleuserinput函数中将firstNamePristine、lastNamePristine设置为false 我在es6中尝试了以下使用模板字符串的方法,并尝试了使用字符串连接,但该代码无法将[name]+“Pristine”作为属性名,其中[name]根据e引用firstName或lastName 或 您正在寻找,它是作为ES6语法的一部分引入的。在您的情况下,您可以将这

我想通过在[name]后面追加字符串“pristine”来设置状态。 示例:根据e.target.name,在handleuserinput函数中将firstNamePristine、lastNamePristine设置为false

我在es6中尝试了以下使用模板字符串的方法,并尝试了使用字符串连接,但该代码无法将[name]+“Pristine”作为属性名,其中[name]根据e引用firstName或lastName

您正在寻找,它是作为ES6语法的一部分引入的。在您的情况下,您可以将这些与:


如您所见,计算属性名称提供方括号语法,在其内部使用反勾号创建包含名称值的模板字符串。

当使用变量作为键时,方括号必须围绕整个值,[名称+原始]:非常感谢。那就行了!!!方括号是否只适用于react?该功能与react无关,它是一种Javascript语法。这里有一个到文档的链接:谢谢你,杰斯。我感谢你的帮助!
_handleuserinput(e){
    const name = e.target.name;
    this.setState{`${[name]'Pristine'`:false })
}
handleuserinput(e){
    const name = e.target.name;
    this.setState{[name]+'Pristine':false })
}



<input type="text" name="firstName" autoComplete="off" autoCapitalize="off" onChange={this._handleUserInput.bind(this)}/>

<input type="text" name="lastName" autoComplete="off" autoCapitalize="off" onChange={this._handleUserInput.bind(this)}/>
const name = e.target.name;
console.log({
    [`${name}Pristine`]: false,
});