实时搜索输入。 onChange方法不更新getMovie方法中的参数
constructor() {
this.getMovies('a');
}
getMovies(searchItem) {
$.ajax({
url: 'https://api.themoviedb.org/3/search/movie?api_key=...&query=' + searchItem
})
}
onChange(e) {
const searchItem = e.target.value
this.getMovies(searchItem)
}
render(
<input onChange={this.onChange.bind(this)}></input>
)
这不是处理这种情况的好方法,无论它是如何传递正确的参数。你绝对应该以一些有意义的方式限制你的ajax调用,否则它会在你不关心的请求中淹没API。关于手头的问题,很难帮助提供给定的细节,介意添加一些额外的代码来说明你是如何意识到它没有改变的?你在控制台看到任何错误吗?
使用输入字段上的每次更改请求来轰炸API是非常糟糕的做法。我认为你想要实现的是某种自动完成样式的输入字段。也许尝试研究'react-autosuggest'。它需要初始提取来检索所有名称条目以填充数组/地图等,然后您的输入字段可以遍历每次更改。