在没有回调函数的输入类型中设置State

问题描述 投票:2回答:2

我试图在输入字段本身设置状态。当我输入一些值时,它给了我[object object]。以下是代码:

<input
  type="text"
  name='name'
  value={this.state.name}
  onChange= {(name) => this.setState({ name })}
/>

这有什么不对?

reactjs setstate input-field
2个回答
3
投票

您可能正在传递整个事件对象,而不仅仅是目标值。试试这个:

onChange={e => setState({name: e.target.value})}

为了更好地理解,请阅读:https://reactjs.org/docs/forms.html


2
投票

当在输入标记上触发onChange事件时,Event对象将被传递给回调函数。因此,要获得用户输入内容的价值,您应该将其更改为

onChange={(event) => this.setState({name: event.target.value})}
© www.soinside.com 2019 - 2024. All rights reserved.