【发布时间】:2020-09-11 17:36:28
【问题描述】:
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 reactjs forms react-hooks fetch-api