首页 > 解决方案 > 反应 onChange 事件未正确更新

问题描述

编辑:没关系,这是一个错字。我brokersListFilter从状态传递了,而不是使用事件值。

我正在尝试创建一个过滤器组件,它允许用户过滤来自 Web 服务 Get request 的数据。我的代码:

    <TextField
      id="filter"
      helperText={labels.filterHelperText}
      value={this.props.brokersListFilter}
      onChange={this.onFilterChange}
      className={this.props.classes.textField}
      }}
    />

并且onFilterChange

 onFilterChange = (event) => {
   this.props.setBrokersListFilter(event)
   this.props.getBrokers(this.props.brokersListPage, this.props.brokersListFilter)
 }

代码有效,但有一个“延迟”,如果我输入“222”,例如数据被“22”过滤,删除也是如此,当我丢弃一个从“222”到“22”的数字时数据被 "222" 过滤。就像它正在使用最后一个状态而不是当前状态。为什么会这样?

标签: javascriptreactjs

解决方案


我怀疑这是由于实际上是 async 的事实而setState发生


推荐阅读