Задать вопрос
@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 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Frontend-разработка на React
    10 недель
    Далее
  • ProductStar
    Разработка на React
    6 недель
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
Решения вопроса 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?

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

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

Похожие вопросы
от 250 000 до 300 000 ₽
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Екатеринбург
от 50 000 до 90 000 ₽