这段react代码里input的值为什么不严格输出state里的值?
题目描述
题目来源及自己的思路
以下代码,<input>里每输入一个字符都应该console.log一遍input的值,这个好理解。我的问题是,这个值,应该永远是this.state里的'值',因为状态从头到尾都没改变过。可是实际输出的都是'值a','值b'这样的,就是你键盘上按哪个键都会跟在'值'后面输出一遍。怎么解释这多出来的字母?
相关代码
class App extends React.Component {
constructor(props) {
super(props);
this.state={
userName: '值',
};
}
render() {
return (
<input
type='text'
value={this.state.userName}
onChange={(e)=>this.changeName(e)}
/>
)
}
changeName(e) {
console.log(e.target.value);
}
}
你期待的结果是什么?实际看到的错误信息又是什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这个问题好啊,甚至还带一点幽默。我谈2点
changeName
里,就不觉得缺点啥么?