Files
cinny/src/app/hooks/useAccountData.js
T

22 lines
596 B
JavaScript
Raw Normal View History

2022-09-04 13:10:07 +05:30
/* eslint-disable import/prefer-default-export */
import { useState, useEffect } from 'react';
2024-07-22 16:17:19 +05:30
import { useMatrixClient } from './useMatrixClient';
2022-09-04 13:10:07 +05:30
export function useAccountData(eventType) {
2024-07-22 16:17:19 +05:30
const mx = useMatrixClient();
2022-09-05 08:30:45 +05:30
const [event, setEvent] = useState(mx.getAccountData(eventType));
2022-09-04 13:10:07 +05:30
useEffect(() => {
const handleChange = (mEvent) => {
if (mEvent.getType() !== eventType) return;
2022-09-05 08:30:45 +05:30
setEvent(mEvent);
2022-09-04 13:10:07 +05:30
};
mx.on('accountData', handleChange);
return () => {
mx.removeListener('accountData', handleChange);
};
2024-07-22 16:17:19 +05:30
}, [mx, eventType]);
2022-09-04 13:10:07 +05:30
return event;
}