我正在尝试对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>
)
}
}
知道我在这里缺少什么吗?
答案 0 :(得分:0)
this.startSearch需要做(e)=> this.setState({searchInput:e.target.value}) 但是如果它在本机上反应,我不认为onInput可以工作