15 lines
396 B
TypeScript
15 lines
396 B
TypeScript
|
|
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]);
|
||
|
|
};
|