Ошибка Cannot read property of undefined
Я новичок в React, поэтому не бейте. У меня есть метод в классе:
showProductLists() {
Object.keys(responseAPI).forEach(function(item, index, responseAPI) {
arr.push(
<SimpleCell
description='Нажми, чтобы отредактировать список'
onClick={() => this.test}
>
{item}
</SimpleCell>
this.setState({ productLists: arr })
}
Данный метод прогоняет объект responseAPI, push в массив и setState.
В render() отображаю с помощью {this.state.productLists}. При нажатии onClick={() => this.test} хочу вызвать метод test:
test() {
console.log('тест') //к примеру
}
Но при нажатии, возникает ошибка: Cannot read property of 'test' undefined. Я пробовал this.test = this.test.bind(this);, но та же ошибка. Подскажите, что не так?
Ответы (1 шт):
Автор решения: Alexandr
→ Ссылка
Проблема решена! В function нельзя обращаться к this.*.
Поэтому, строчку forEach(function(item, index, responseAPI) { меняем на: forEach((item, index, responseAPI) => {.