方法调用后,状态数组将被清空



我正在尝试在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>
    )
  }
}

知道我在这里错过了什么?

this.startsearch需要做(e(=> this.setState({searchInput:e.target.value}(但是,如果它是对本机的,我不认为intupt work

最新更新