Next.js - Сломанные слушатели после статического экспорта

Я пробовал такой подход:

    import React, { Component } from 'react'

    export default class AlertHey extends Component {

        constructor(props) {
            super(props)
            this.handleClick = this.handleClick.bind(this)
        }

        handleClick(){
            alert("hey")
        }

        render(){
            return(
                <div onClick = {this.handleClick}>
                    Click me
                </div>
            )
        }
    }

И такой подход:

import React, { Component } from 'react'

    export default class AlertHey extends Component {

        render(){
            return(
                <div onClick = {() => alert("Hey")}>
                    Click me
                </div>
            )
        }
    }

И оба не работают. В режиме разработки (npm run dev) все работает хорошо, а когда я экспортирую, все слушатели кажутся сломанными. Я не понимаю. Может я потерял какие-то настройки babel или webpack?

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

Ответы 1

Это работает в продакшене? Я заметил, что в вашем методе рендеринга нет тегов return (). Вы также должны привязать this.handleClick к своему экземпляру, а не handleClick1.

Да, это работает. Отсутствие return и handleclick1 - это опечатки.

Matteo Marongiu 05.11.2018 19:01

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