簡體   English   中英

DIV onClick 將數組傳遞給 ReactJS 中的函數

[英]DIV onClick Pass Array to Function in ReactJS

我收到以下錯誤

未捕獲的不變違規:預期onClick偵聽器是一個函數,而不是獲得object類型的值。

當我嘗試在單擊 div 時將值(這是一個數組)傳遞給函數時。 如果無法做到這一點,處理這個問題的最佳方法是什么?

itemsArray(arr) {
        let items = [];
        let self = this;
        const grouped = this.groupBy(arr, item => item.source);
        grouped.forEach(function(value, key) {

            switch(key.toString().toLowerCase()) {
            case "occ_al": return items.push(<div onClick={self.listAllActivities(value)} className="recentActivityChannels"><img src={occ} width="15" /></div>)
          }

        })
        items.push(<div className="clearFloat"></div>);
        return items;
    }

    listAllActivities(arr){
        let items = [];
        var self = this;
        const grouped = this.groupBy(arr, date => getDateServiceTab(date.date));
        grouped.forEach(function(value, key) {
            value.map((map) => {

                //removed as its not important

        return items;

 }

您正在執行函數listAllActivities ,然后該函數返回一個對象。 您可以使用箭頭函數來解決這個問題:

onClick={() => self.listAllActivities(value)}

使用箭頭函數調用的另一種方法

onClick={() => function()}

是將其定義為箭頭函數

itemsArray = (arr) => {
      ...
}

暫無
暫無

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

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