Реагируйте, метод onchange не обновляет параметр метода - PullRequest
0 голосов
/ 30 апреля 2019

Живой поиск с вводом. Метод 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 голосов
/ 30 апреля 2019

Бомбардировка API запросом на изменение в поле ввода - очень плохая практика.Я думаю, что вы пытаетесь достичь своего рода поля ввода с автозаполнением.Может быть, попробуйте исследовать 'response-autosuggest' .Потребуется начальная выборка для извлечения всех записей имени для заполнения массива / карты и т. Д., А затем поле ввода может проходить это при каждом изменении.

0 голосов
/ 30 апреля 2019

Это не хороший способ справиться с подобным сценарием, независимо от того, как он передается или не передает правильный параметр. Вы должны абсолютно ограничить ваши ajax-вызовы каким-то осмысленным способом, иначе это приведет к потоплению API в запросах, которые вас в действительности не волнуют. Что касается вопроса под рукой, довольно сложно помочь с данными деталями, не забудьте добавить дополнительный код, чтобы показать, как вы поняли, что он не меняется? вы видите какие-либо ошибки в консоли?

...