javascript - 在 React 中提交表单后无法清除输入字段
问题描述
function Search() {
let [state, setState] = useState({
query: "",
results: []
})
let handleSubmit = e => {
e.preventDefault();
if(state.query.length>0) {
fetch(searchURL)
.then(response => response.json())
.then(data => setState(prevValue => {
return {
...prevValue,
results: data.Search
}
}))
setState({query:""})
}
}
return (
<div>
<h1>Search</h1>
<form onSubmit={handleSubmit}>
<input type="text" placeholder="Search..." onChange={handleChange} value={state.query}/>
<button type="submit">Search</button>
</form>
</div>
)
}
提交表单后,如果我设置状态,如 setState{query:""} ,则 API 调用失败。如何实现这一点。谢谢
解决方案
推荐阅读
- javascript - 如何在 NodeJS 中使用 Map 对具有相同属性值的对象进行分组?
- python - 为什么 SublimeREPL 不接受未定义的数据类型?(问题输入字符串)
- python - 列表,转换 Str 列表,替换值,打印新的 str 列表。应该返回 ['*', '2', '3', '*', '5']
- typescript - 对象的类型定义,它对类型的值进行(自我)引用
- sql - 两个时间戳和分类到 1 分钟存储桶之间的 SQL 差异
- jupyter - 瞧仪表板基本网址
- vb.net - 居中标签时,它位于面板后面
- python - 芹菜的原始 PyMySQL 多线程
- python - 为推销员做一个 Python 项目。出现“无法分配给操作员”错误
- shell - 当输入来自重定向时,为什么 bufio.NewReader 不能正常工作?