簡體   English   中英

反應警告 預期在箭頭函數數組-回調-返回結束時返回一個值

[英]react warning Expected to return a value at the end of arrow function array-callback-return

我有這個按鈕

<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) =>我真的很想學習如何解決這個警告,因為它不是唯一出現的地方,我相信理解這個我將能夠找出其他的,感謝您的時間和幫助

我在堆棧上查看了另一個類似的問題,但它們似乎與我的不同

你只是在返回的情況下,一些row在被this.props.listTableCheckedItems

這里有幾個問題。

1:如果這不是真的,你需要返回一些東西。

if (this.props.listTableCheckedItems.indexOf(row) === -1) {
  idSelected.push(i.clientid)
  return i
} else {
  return ...
}

2:您的過濾器回調將為列表中的第一個元素返回 falsy,因為i是 0。除非這是故意的,否則您應該返回truefalse

if (this.props.listTableCheckedItems.indexOf(row) === -1) {
  idSelected.push(i.clientid)
}
return this.props.listTableCheckedItems.indexOf(row) === -1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM