Реагирующие события на самом деле являются синтетическими событиями, а не родными событиями. Как написано здесь :
Делегирование событий: React фактически не присоединяет обработчики событий к самим узлам. Когда React запускается, он начинает прослушивать все события на верхнем уровне с помощью одного прослушивателя событий. Когда компонент монтируется или размонтируется, обработчики событий просто добавляются или удаляются из внутреннего сопоставления. Когда происходит событие, React знает, как его отправить, используя это сопоставление. Когда в сопоставлении нет обработчиков событий, обработчики событий React являются простыми no-ops.
Попробуйте использовать Use
Event.stopImmediatePropagation
:upvote: (e) -> e.stopPropagation(); e.nativeEvent.stopImmediatePropagation();
Обычно typedef
имеет точно такой же синтаксис, что и объявление объекта, за исключением того, что перед ним стоит префикс typedef
, что меняет значение так что новый идентификатор объявляет псевдоним для типа, который имел бы объект, который был бы объявлен, если бы это было обычное объявление.
Тип typedef
имеет точно такую же область видимости, как и объявление объекта, поэтому он может быть привязанным к файлу или локальным для блока или (в C ++) для пространства имен или класса.
например.
Объявляет int
:
int a;
Объявляет тип, который является псевдонимом для int
:
typedef int a_type;
Объявляет указатель на char
:
char *p;
Объявляет псевдоним для char *
:
typedef char *pChar;
Объявляет указатель на функцию:
int (*pFn)(int);
Объявляет псевдоним для типа, который является 'указателем на функцию, принимающую int
и возвращающую int
':
typedef int (*pFunc)(int);