Задать вопрос
@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, то все работает корректно.
Прошу поделиться своими идеями)
  • Вопрос задан
  • 84 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Javascript.ru
    Курс по React
    5 недель
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 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?

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

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽
ITK academy Казань
от 50 000 до 90 000 ₽