Вы будете делать вызов API каждый раз, когда набираете письмо с текущим способом выполнения действий.Я бы порекомендовал просто загрузить состояния один раз в начале, возможно, в вашем методе ComponentDidMount ().
Если вы передадите реквизит isSearchable
React-Select, он все равно автоматически будет работать в качестве фильтра.
Еще одна вещь, которую я должен был сделать в этом случае, которая, я считаю, исправит вашу проблему с изменениями, состоит в том, чтобы убедиться, что он вызывает обработчик изменений, а не только изменений входных данных.
Передайте этот реквизит:
<Select
value={this.state.value}
options={this.state.options }
onChange={value => {
if (value) this.onInputChange(value)
else this.onInputChange('')
}
/>
Благодаря тому, что this
автоматически привязан к функциям стрелок, вам не придется связываться с thi
s, если вы измените свой onInputChange
на следующее:
onInputChange = (value) => {
this.getOptionsAsync(value)
}
Наконец, вы должны установить состояние в вышеуказанной функции, чтобы сохранить значение.
onInputChange = (value) => {
this.getOptionsAsync(value)
this.setState({value})
}