javascript - 在 ReactJS 中获取状态中的搜索值

标签 javascript reactjs

我是 ReactJS 的新手,正在尝试获取搜索输入框的值并将其存储在状态中。

我的代码:

<form className="search-form" onSubmit={this.handleSubmit}>
      <input type="search" name="search" ref={(input) => this.query = input}
                               placeholder="Search..." />
      <button className="search-button" type="submit" id="submit">Go!</button>
</form>

内部构造函数:

this.handleSubmit = this.handleSubmit.bind(this);

handleSubmit = e => {
        e.preventDefault();
        this.setState({search: this.query.value});
        console.log(this.state.search) //Returns undefined
        e.currentTarget.reset();
    }

非常感谢任何帮助。

最佳答案

我建议您使用受控输入方法。

state = {
   value: null,
}

handleValue = (e) => this.setState({ value: e.target.value });

那么你不必使用ref

<input 
   type="search" 
   name="search" 
   onChange={this.handleValue}
   placeholder="Search..." 
/>

关于javascript - 在 ReactJS 中获取状态中的搜索值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58810381/

相关文章:

javascript - 将随机背景图像更改为另一个随机背景(使用淡入淡出过渡)

javascript - React Js-无法将 html 标签内的 prop 值视为键

javascript - 停用砖石动画

reactjs - 在 Electron + Create React App 中使用文件系统访问 API 写入文件失败

reactjs - 如何使用 ReactTable 更改标题的样式

javascript - 如何使用 DocumentChange.newIndex 重新排序 Firestore 'modified' 更改?

javascript - 当 console.log 是 HTML 文件时如何获取它的输出

html - 为什么按钮向左移动?

javascript - 如何使两个不同的组件具有相同的高度

javascript - ReactJS:使用对象引用作为{key}?