import { MatrixEvent } from 'matrix-js-sdk'; import { useState, useCallback } from 'react'; import { useMatrixClient } from './useMatrixClient'; import { useAccountDataCallback } from './useAccountDataCallback'; export function useAccountData(eventType: string): MatrixEvent | undefined { const mx = useMatrixClient(); const [event, setEvent] = useState( () => (mx as any).getAccountData(eventType) as MatrixEvent | undefined, ); useAccountDataCallback( mx, useCallback( (evt) => { if (evt.getType() === eventType) { setEvent(evt); } }, [eventType, setEvent], ), ); return event; }