@alekseyy__9090
frontend-разработчик

Почему не дает повесить callback на компонент react?

Имею вот такое вот приложение с карточкой, где добавляю задачи.
https://codepen.io/Gleblq/pen/PoNjKZW
Идея такая, что при нажатии на кнопку "удалить" (это когда уже мы добавили в карточку таски), из компонента Task должен вернуться callback на функцию deleteTaskHandler(), которая находится в компоненте Card. Но при попытке добавления тасков в карточку происходит ошибка ('Uncaught TypeError: Cannot read property 'deleteTaskHandler' of undefined') .не понимаю почему он мне не дает повесить callback функцию на данный компонент.Если выводить Компоненты Task отдельно, не через функцию .map, то все работает корректно.
Прошу поделиться своими идеями)
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега React
taskList.map(function(item) {
  return (
    <Task data_text={item.text} key={item.id} delete={this.deleteTaskHandler}/>
  )
})

Теряется контекст, соответственно, this.deleteTaskHandler - это не метод компонента.

onCLick={this.props.deleteTaskHandler()}

Опечатка в имени обработчика события.

Почему deleteTaskHandler, если передаёте в экземпляр компонента delete?

А вызывать вы его зачем пытаетесь (не понимаете разницы между функцией и результатом её вызова?)?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы