Задать вопрос
@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 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 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 Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽