Основной запрос, касающийся поведения React Events

Мне нужен простой пример использования случая, с которым я мог бы играть, это даже не требует таблицы. Это возвращается нечетно или даже зависит от того, являются ли секунды нечетными или даже

SELECT CASE MOD(SECOND(NOW()),2) WHEN 0 THEN 'odd' WHEN 1 THEN 'even' END;
1
задан Asad Feroz Ali 13 July 2018 в 15:59
поделиться

1 ответ

Запись this.deleteTodo(i) - , вызывающая функцию . То, что вы дадите onClick, - это то, что возвращается из this.deleteTodo(i), которое в этом случае undefined.

() => this.deleteTodo(i) создает новую функцию. Сначала может показаться немного более ясным, если вы напишете его как function () { this.deleteTodo(i) }.bind(this) как упражнение.

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

1
ответ дан Tholle 17 August 2018 в 12:26
поделиться
  • 1
    то почему мы не можем сделать то же самое с addTodo? Как <button onClick={() => this.addTodo()}>Add Todo</button> – Asad Feroz Ali 13 July 2018 в 16:10
  • 2
    @AsadFerozAli Вы можете сделать () => this.addTodo(), но вам это не нужно. this.addTodo также является функцией, и она будет работать нормально. Проблема возникает, когда вам нужно передать аргумент функции. Если вы хотите передать аргумент this.addTodo, вам нужно написать () => this.addTodo(myArg) – Tholle 13 July 2018 в 16:11
  • 3
    Спасибо за тонну за объяснение! – Asad Feroz Ali 13 July 2018 в 16:21
  • 4
    @AsadFerozAli Добро пожаловать! Вначале это немного сложно, но скоро вам будет удобно. – Tholle 13 July 2018 в 16:22
Другие вопросы по тегам:

Похожие вопросы: