Запуск события из функции

Как я могу вызвать событие в функции? В приведенном ниже примере, когда componentDidUpdate срабатывает, this.testHandle() срабатывает, но this.handleFilterByClass() не срабатывает вообще. Я полагаю, это как-то связано с событием. Что мне не хватает?

componentDidUpdate(prevProps, prevState) {
  if (prevProps.studentUserProfiles.length !== this.props.studentUserProfiles.length) {
    this.handleFilterByClass();
    this.testHandle();
  }
}

testHandle() {
  console.info('testHandle');
}
handleFilterByClass = classId => (event) => {
  console.info(111);
}

Ваш handleFilterByClass возвращает функцию. Попробуйте записать this.handleFilterByClass()(); в качестве эксперимента.

Tholle 18.07.2018 03:07

заменить handleFilterByClass = classId => (event) => { на handleFilterByClass: classId => (event) => {

dysfunc 18.07.2018 03:27

появляется ошибка @dysfunc

bp123 18.07.2018 03:30

@dysfunc это тоже ошибки. `handleFilterByClass: classId => (событие) => {`

bp123 18.07.2018 03:32

я думаю, вы ищете этот `handleFilterByClass (classId) {console.info (classId)}`

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

Ответы 1

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

Вы возвращаете функцию из handleFilterByClass. Удалите (event) =>, если вы хотите иметь возможность вызывать его напрямую.

handleFilterByClass = classId => {
  console.info(111);
}

Я получаю эту ошибку. `Невозможно обновить во время существующего перехода между состояниями (например, в render или конструкторе другого компонента). Методы рендеринга должны полностью зависеть от свойств и состояния; побочные эффекты конструктора - это анти-шаблон, но их можно переместить в componentWillMount.`

bp123 18.07.2018 03:40

@ bp123 Это не связано с вашим вопросом. Подумайте о создании еще одного вопроса с Минимальный, полный и проверяемый пример, и мы можем вам помочь.

Tholle 18.07.2018 03:42

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