Prefer RoomStateEvent.Update where possible as it fires far less (#7878)
This commit is contained in:
parent
36ae0ea49d
commit
c257bc3f7a
40 changed files with 223 additions and 190 deletions
|
@ -15,11 +15,11 @@ limitations under the License.
|
|||
*/
|
||||
|
||||
import { useCallback, useState } from "react";
|
||||
import { MatrixClient } from "matrix-js-sdk/src/client";
|
||||
import { ClientEvent, MatrixClient } from "matrix-js-sdk/src/client";
|
||||
import { MatrixEvent } from "matrix-js-sdk/src/models/event";
|
||||
import { Room } from "matrix-js-sdk/src/models/room";
|
||||
import { Room, RoomEvent } from "matrix-js-sdk/src/models/room";
|
||||
|
||||
import { useEventEmitter } from "./useEventEmitter";
|
||||
import { useTypedEventEmitter } from "./useEventEmitter";
|
||||
|
||||
const tryGetContent = <T extends {}>(ev?: MatrixEvent) => ev ? ev.getContent<T>() : undefined;
|
||||
|
||||
|
@ -31,7 +31,7 @@ export const useAccountData = <T extends {}>(cli: MatrixClient, eventType: strin
|
|||
if (event.getType() !== eventType) return;
|
||||
setValue(event.getContent());
|
||||
}, [eventType]);
|
||||
useEventEmitter(cli, "accountData", handler);
|
||||
useTypedEventEmitter(cli, ClientEvent.AccountData, handler);
|
||||
|
||||
return value || {} as T;
|
||||
};
|
||||
|
@ -44,7 +44,7 @@ export const useRoomAccountData = <T extends {}>(room: Room, eventType: string)
|
|||
if (event.getType() !== eventType) return;
|
||||
setValue(event.getContent());
|
||||
}, [eventType]);
|
||||
useEventEmitter(room, "Room.accountData", handler);
|
||||
useTypedEventEmitter(room, RoomEvent.AccountData, handler);
|
||||
|
||||
return value || {} as T;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue