Массив состояний очищается после вызова метода - PullRequest
0 голосов
/ 18 мая 2019

Я пытаюсь выполнить фильтр для массива состояний React. Из рендера я вызываю метод поиска.

Каким-то образом массив состояний очищается с момента вызова:

  • this.startSearch.bind(this).

Таким образом, метод не может использовать массив состояний, потому что он полностью пустой.

export default class ItemList extends Component {
  state = {
    itemList: []
  }

  startSearch(input) {
    console.log(this.state.itemList)
  }

  render() {
    //load Json
    let filteredArray = Data.filter(
      (item1) => {
        return
        item1.title.indexOf(this.state.searchInput.charAt(0).toUpperCase()) !== -1;
      }
    )
    this.setState({ itemList: filteredArray })

    return (
      <input type="text" id="inputField" value={this.state.searchInput} onInput={this.startSearch.bind(this)}></input>
    )
  }
}

Есть идеи, что мне здесь не хватает?

1 Ответ

0 голосов
/ 19 мая 2019

this.startSearch нужно сделать (e) => this.setState ({searchInput: e.target.value}) но если он реагирует на нативную, я не думаю, что на работе ввода

...