javascript - 反应 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" 过滤。就像它正在使用最后一个状态而不是当前状态。为什么会这样?
解决方案
我怀疑这是由于实际上是 async 的事实而setState
发生的。
推荐阅读
- c++ - 在二叉树的特定索引处有效插入元素
- python - 删除数据框中重复字符的行
- c++ - 如何从给定的数组生成洗牌数组的列表?
- json - AWS Glue Crawler - DynamoDB 导出 - 在架构而不是结构中获取属性名称
- psychopy - 检测到 Psychopy 堆栈粉碎
- swiftui - SwiftUI 反转掩码
- reactjs - 使用减速器反应异步加载图像
- javascript - 错误 [ERR_REQUIRE_ESM]:不支持 ES 模块的 require()
- javascript - 反应收集器消息不会删除反应不和谐 js
- javascript - 让音乐机器人加入 VC 时遇到错误