Я получаю следующую ошибку
Uncaught Invariant Violation: Expected
onClicklistener to be a function, instead got a value ofobjecttype.
когда я пытаюсь передать значение (которое является массивом) функции при нажатии на 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;
}



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы выполняете функцию listAllActivities, а затем функция возвращает объект. Вы можете использовать функцию стрелки, чтобы решить эту проблему следующим образом:
onClick = {() => self.listAllActivities(value)}
Альтернативный способ вызова с помощью стрелочной функции
onClick = {() => function()}
состоит в том, чтобы определить его как стрелочную функцию
itemsArray = (arr) => {
...
}