Files
cinny/src/app/hooks/useSyncState.ts
T

15 lines
396 B
TypeScript
Raw Normal View History

import { ClientEvent, ClientEventHandlerMap, MatrixClient } from 'matrix-js-sdk';
import { useEffect } from 'react';
export const useSyncState = (
mx: MatrixClient,
onChange: ClientEventHandlerMap[ClientEvent.Sync]
): void => {
useEffect(() => {
mx.on(ClientEvent.Sync, onChange);
return () => {
mx.removeListener(ClientEvent.Sync, onChange);
};
}, [mx, onChange]);
};