【发布时间】:2018-11-14 20:44:35
【问题描述】:
我有一组从数据库中提取的 Gym Classes,这是它的日志:
当它被拉出时,它们会被放入两个不同的数组中:
gymClasses: [],
filteredClasses: [],
然后,当用户单击其中一个下拉列表时,它会使用 this.filterClasses(event.target.value); 获取所选下拉列表的值
然后运行这个的函数:
filterClasses(value) {
const newFilteredClasses = this.state.gymClasses.filter( (value) => {
return this.state.gymClasses.type === value;
});
this.setState({filterClasses: newFilteredClasses});
console.log('values ', this.state.filteredClasses);
}
当我打开最后一个应该显示filteredClasses 的console.log 时,它显示的类与未过滤的类相同。
这是上次的结果
console.log('values ', this.state.filteredClasses);
任何帮助建议将不胜感激!
【问题讨论】:
-
有一点需要注意,state updates may be async,所以控制台日志记录在它之后并不意味着你会得到你想要的状态。为此,您可以在
setState中使用回调函数。
标签: javascript reactjs function filtering