React - TypeError: props.handleStatusClick не является функцией

У меня есть родительский компонент с конструктором, который включает:

this.handleStatusClick = this.handleStatusClick.bind(this);

handleStatusClick - это функция, которая принимает 1 аргумент. Затем я вызываю дочерний компонент со свойством:

handleStatusClick = {this.handleStatusClick}

И внутри этого дочернего компонента у меня есть:

<div style = {{cursor: 'pointer'}} onClick {props.handleStatusClick("starting")}>

Следует упомянуть, что дочерний компонент является презентационным (без сохранения состояния) компонентом.

Почему я получаю

TypeError: props.handleStatusClick is not a function

ошибка?

Насколько я понимаю, вам нужно настроить атрибуты тега div на следующее: <div style = {{cursor: 'pointer'}} onClick = {() =>props.handleStatusClick("starting")}>

Kabbany 17.12.2018 17:42

вам не хватало равенства после того, как onClick, а опоре onClick нужна функция, но вы передавали возвращаемое значение из функции

Kabbany 17.12.2018 17:43

Да @Kabbany теперь работает! Спасибо!

Gambit2007 17.12.2018 17:47

@Kabbany запишите это как ответ для тех, кто может столкнуться с той же проблемой, чтобы увидеть ответ

Prajval M 17.12.2018 17:48
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
4
36
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Насколько я понимаю, вам нужно настроить атрибуты тега div на следующее:

<div style = {{cursor: 'pointer'}} onClick = {() =>props.handleStatusClick("starting")}>

вам не хватало равенства после того, как onClick, а опоре onClick нужна функция, но вы передавали возвращаемое значение из функции

Другие вопросы по теме