【发布时间】:2020-12-11 02:24:51
【问题描述】:
我有这段代码:
handleMaxLevel = event => {
this.setState({
maxLevel: event.target.value
}, (minLevel, maxLevel) => {
let filter = this.state.filteredPlayers.filter(players => {
return players.level > minLevel && players.level < maxLevel
})
this.setState({
levelFilteredPlayers: filter
})
})
}
我在这段代码上调用了这个函数:
<TextField
id="standard-number"
label="Highest level"
type="number"
onChange={() => this.handleMaxLevel(this.state.minLevel, this.state.maxLevel)}
InputLabelProps={{
shrink: true,
}}
/>
我得到的东西是:TypeError:无法读取未定义的属性“值”
据说问题出在这一行:maxLevel:event.target.value。
我不明白,回调不是应该等待第一个 setstate 结束以便执行吗?
为什么它没有重新调整设置为 maxLevel 状态的值?
【问题讨论】:
标签: javascript reactjs