反应,onchange方法不更新方法参数

时间:2019-04-30 13:20:39

标签: reactjs api methods onchange

使用输入实时搜索。 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> 
)

2 个答案:

答案 0 :(得分:0)

这不是处理这种情况的好方法,无论它是否传递正确的参数。您应该绝对以某种有意义的方式来限制您的Ajax调用,否则它会淹没您实际上并不关心的请求中的API。 关于手头的问题,要提供给定的细节非常困难,请介意添加一些额外的代码以显示您如何意识到它不会改变?您在控制台中看到任何错误吗?

答案 1 :(得分:0)

使用输入字段每次更改的请求来轰击API是非常差的做法。我认为您想要实现的是某种自动完成样式的输入字段。 也许尝试研究'react-autosuggest'。它将需要进行初始取回以检索所有名称条目以填充数组/地图等,然后您的输入字段可以通过每次更改来遍历。