我遇到以下错误
未捕获到的不变变量:预期
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;
}
答案 0 :(得分:1)
您正在执行函数listAllActivities
,然后该函数返回一个对象。您可以使用箭头功能来解决此问题:
onClick={() => self.listAllActivities(value)}
答案 1 :(得分:0)
使用箭头函数调用的另一种方法
onClick={() => function()}
是将其定义为箭头功能
itemsArray = (arr) => {
...
}