在Udemy" Modern React with Redux"当然,Stephen Grider给出了一个例子,其中输入元素value
由设置该值的onChange
事件改变。具体来说,该功能如下所示:
onChange= function(event){
this.setState({ term: event.target.value})
}
,输入组件如下:
<input value = {this.state.term} />
我不明白event.target.value
如何在我眼前更新,状态是&#34;硬编码&#34;到event.target.value
,即当组件呈现时,为空字符串。因此,如果state.term
为""
,则输入&#39; s value
将被覆盖并且&#34;设置&#34;是state.term
,它是如何更新的?
import React, { Component } from 'react';
class SearchBar extends Component {
constructor (props) {
super(props);
this.state = { term: '' };
}
render() {
return(
<div>
<input
value = {this.state.term}
onChange={event => this.setState({ term: event.target.value})} />
</div>
);
}
}
export default SearchBar;
编辑:基本上我认为我的问题归结为:<input>
元素与value
event.target.value
是否相同?
EDIT2:&#34;同样的事情&#34;在Javascript传递引用的单词意义上,即在同一对象上引用相同值的东西?
答案 0 :(得分:2)
initial value = ''
'r'
event.target.value
设置状态。新state.term
为'r'
this.state.term
或'r'
回答你的编辑:
是和否 - value
最终会与event.target.value
相同,但只是因为该值使用的state.term
已设置为event.target.value
的值
event.target.value
=&gt;确定=&gt; state
=&gt;确定=&gt; input[value]