У меня есть поле ввода, которое отображает состояние и показывает результаты при изменении:
if (this.state.results === "" || this.state.results === null || this.state.results === undefined){
showResults = null;
} else {
let results = this.state.results.map(result => (
<StyledLink key={result.name} to={`/game/${result.name}`}>
<SearchResult
name={result.name}
/>
</StyledLink>)
)
showResults = <StyledResults>{results}</StyledResults>
}
Все работает хорошо, но когда я нажимаю кнопку удаления, чтобы быстро, даже если поле ввода пустоэто все еще показывает результаты. Этого не произойдет, если я подожду полсекунды между каждым нажатием кнопки «Удалить».
И это то, что вызывает поле ввода onChange:
findGames = (event) => {
let searchText = event.target.value
if (event.target.value) {
let body = {
"search_text": `${searchText}`, "fields": ["id", "name", "release_dates"]
}
axios.post(getGameIDUrl, body, headers)
.then(res => res.data.filter((result) => { return result.type === "game" }))
.then(res => this.setState({ results: res }))
.then(console.log(this.state.results))
} else {
this.setState({ results: null })
}
}