javascript - 反应警告预计在箭头函数数组回调返回的末尾返回一个值
问题描述
我有这个按钮
<button
className="waves-effect waves-light btn btn-secondary has-icon"
onClick={() => {
const idSelected = []
const itemSelected = this.state.clientItemUser.filter((i, row) => {
if (this.props.listTableCheckedItems.indexOf(row) === -1) {
idSelected.push(i.clientid)
return i
}
})
const { setTableCheckedItems } = this.props
console.log('itemSelected > ', itemSelected)
this.setState({ clientItemUser: itemSelected, clientIdItemUser: idSelected })
setTableCheckedItems([])
}}
>
它可以工作并做应该做的事情,但我想摆脱这个警告“预计在箭头函数数组回调返回的末尾返回一个值”它说问题就在const itemSelected = this.state.clientItemUser.filter((i, row) =>
我真的想学习的线上如何解决此警告,因为它不是唯一出现的地方,我相信理解这个我将能够找出其他警告,感谢您的时间和帮助
我在堆栈上查看了另一个类似的问题,但它们似乎与我的不同
解决方案
你只是在 in 的情况下返回一些row
东西this.props.listTableCheckedItems
。
这里有几个问题。
1:如果不是真的,你需要返回一些东西。
if (this.props.listTableCheckedItems.indexOf(row) === -1) {
idSelected.push(i.clientid)
return i
} else {
return ...
}
2:您的过滤器回调将为列表中的第一个元素返回 falsy,因为i
它是 0。除非这是故意的,否则您应该返回true
or false
。
if (this.props.listTableCheckedItems.indexOf(row) === -1) {
idSelected.push(i.clientid)
}
return this.props.listTableCheckedItems.indexOf(row) === -1
推荐阅读
- ssl - 如何找出为什么 openssl 不起作用,但 netcat 起作用?
- angular - undefined 不是对象(评估 'r.urlTree')
- javascript - 在 Express Router (node.js) 中使用 for 循环
- mysql - ORDER BY id DESC 结合 WHERE id < ... 不会使用索引
- reactjs - TS2339 - 无法映射来自 API 的请求
- amazon-web-services - emr 5.27 上的 zeppelin 8.1 在 S3 上保存笔记本无法更改 STORAGE 值
- mysql - 基于 SQL 的 FP-Growth 算法
- apache-spark - 如何将任何分隔文本文件转换为 parquet/avro - 使用 spark sql 将列号/结构动态更改为 avro/parquet?
- sql - SQL:为每个组填写缺失的日期
- python-3.x - 在 python 中处理协程。如何链接两个协程