Prefer RoomStateEvent.Update where possible as it fires far less (#7878)

This commit is contained in:
Michael Telatynski 2022-02-24 14:39:25 +00:00 committed by GitHub
parent 36ae0ea49d
commit c257bc3f7a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
40 changed files with 223 additions and 190 deletions

View file

@ -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;
};