Skip to content
This repository has been archived by the owner on Jan 14, 2022. It is now read-only.

Latest commit

 

History

History
23 lines (19 loc) · 833 Bytes

events.md

File metadata and controls

23 lines (19 loc) · 833 Bytes

Подписка на события

Переход к следующей/предыдущей странице, смена хэша в адресной строке - это всё события. Чтобы подписаться на них, нужно вызвать метод subscribe, который возвращает функцию для отписки:

const App: FC = () => {
  const { subscribe } = useRouter();

  useEffect(() => {
    const handler = (event: RouterEvent, state: State | null) => {
      console.log('Новое событие:', event, 'Состояние: ', state);

      if (event === RouterEvent.PUSH) {
        console.log('Переход к следующей панели', state?.panel);
      }
    };

    return subscribe(handler);
  }, []);

  return (
    ...
  );
};