所以,我被要求制作一个ReactJS页面,在那里用户应该能够从https://omdbapi.com上搜索电影、连续剧等,其中一个条件是Search should be triggered without an enter or search button with a delay of 2 seconds.找不到直接的问题,我想我应该把它贴出来,以便更容易地搜索其他人。
发布于 2020-03-26 21:46:03
因此,代码很简单:
var timeout
this.fetchingData = (url) => {
timeout = setTimeout(
() => {
fetch(url)
.then(response => {
if (response.status !== 200) {
return console.error('Not working')
};
return response.json()
})
.then(data => {
this.setState({
Search: data.Search,
response: data.response,
totalResults: data.totalResults
})
})
.catch(error => {
alert(error)
})
}, timeToDelay);
};
this.myStopFunction = () => {
clearTimeout(timeout);
}
}
handlePageChange = (event) => {
if (this.state.movieName === '') {
console.error("ENTER MOVIE NAME FIRST")
} else {
this.myStopFunction()
this.handleChange(event)
}
}
handleChange = (event) => {
this.myStopFunction()
const {
value,
name
} = event.target;
this.setState({
[name]: value
}, () => value ? this.myFunction(this.state, this.url, this.fetchingData) : null);
};return()内幕
<FormInput
name='page'
type='number'
handleChange={this.handlePageChange}
value={this.state.page}
label='page number'
required
/>https://stackoverflow.com/questions/60868743
复制相似问题