Перейти к основному содержимому
Об авторе
Проекты
Знания
Знания/TypeScript/pattern-event-emitter

Как создать типобезопасный Event Emitter в TypeScript?

УглублённыйПаттерны типизации
  • Event map: interface Events { click: MouseEvent; change: string }
  • on<K extends keyof Events>(event: K, handler: (payload: Events[K]) => void)
  • emit<K extends keyof Events>(event: K, payload: Events[K])
  • Полное автодополнение имён событий и типов payload
  • Ключ события связан с типом данных через indexed access type
  • Главная
  • Об авторе
  • Проекты
  • Знания
Логотип nKolmykov