【发布时间】:2020-01-12 12:54:30
【问题描述】:
我通过创建两个处理程序来动态更改名称和年龄。当我输入年龄时,它会动态变化。这里没有问题。但是这个名字也默认了。因为我将它定义为“ageChangeHandler”中的硬编码值。但我希望名称保持与“nameChangeHandler”中的相同。 Javascript/ES6 中是否有类似“currentValue”或“lastValue”的东西? 我希望我解释得当。 提前致谢。
我找不到像 currentvalue 等任何选项。
nameChangeHandler = (event) =>{
this.setState({
persons: [
{name: "Max" , age: 28},
{name: event.target.value, age: 29},
{name:"Arthur", age:34}
]
})
}
ageChangeHandler = (event) =>{
this.setState({
persons:[
{name: "Max" , age: 28},
{name: "Tom", age: 29},
{name:"Arthur", age:event.target.value}
]
})}
我调用处理程序的行:
<Person
name={this.state.persons[0].name}
age={this.state.persons[0].age}/>
<Person
name={this.state.persons[1].name}
age={this.state.persons[1].age}
click={this.switchNameHandler.bind(this, "Way 2")}
Namechanged={this.nameChangeHandler}>My hobbies: coding</Person>
<Person
name={this.state.persons[2].name}
age={this.state.persons[2].age}
Agechanged={this.ageChangeHandler}/>
【问题讨论】:
-
你如何/在哪里调用这些处理程序?
-
您的代码如何知道要更新
persons中的哪个对象真的不清楚。他们可能需要某种 id。
标签: javascript reactjs ecmascript-6