Skip to content

Commit 63009c6

Browse files
authored
perf: Avatar missing selector comparison (#6498)
1 parent d2cfef7 commit 63009c6

File tree

1 file changed

+16
-13
lines changed

1 file changed

+16
-13
lines changed

app/containers/Avatar/AvatarContainer.tsx

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import React from 'react';
2-
import { shallowEqual, useSelector } from 'react-redux';
2+
import { shallowEqual } from 'react-redux';
33

4-
import { IApplicationState } from '../../definitions';
54
import { getUserSelector } from '../../selectors/login';
65
import Avatar from './Avatar';
76
import { IAvatar } from './interfaces';
87
import { useAvatarETag } from './useAvatarETag';
8+
import { useAppSelector } from '../../lib/hooks';
99

1010
const AvatarContainer = ({
1111
style,
@@ -22,24 +22,27 @@ const AvatarContainer = ({
2222
rid,
2323
accessibilityLabel
2424
}: IAvatar): React.ReactElement => {
25-
const server = useSelector((state: IApplicationState) => state.server.server);
26-
const serverVersion = useSelector((state: IApplicationState) => state.server.version);
27-
const { id, token, username } = useSelector(
28-
(state: IApplicationState) => ({
25+
const server = useAppSelector(state => state.server.server);
26+
const serverVersion = useAppSelector(state => state.server.version);
27+
const { id, token, username } = useAppSelector(
28+
state => ({
2929
id: getUserSelector(state).id,
3030
token: getUserSelector(state).token,
3131
username: getUserSelector(state).username
3232
}),
3333
shallowEqual
3434
);
3535

36-
const { avatarExternalProviderUrl, roomAvatarExternalProviderUrl, cdnPrefix } = useSelector((state: IApplicationState) => ({
37-
avatarExternalProviderUrl: state.settings.Accounts_AvatarExternalProviderUrl as string,
38-
roomAvatarExternalProviderUrl: state.settings.Accounts_RoomAvatarExternalProviderUrl as string,
39-
cdnPrefix: state.settings.CDN_PREFIX as string
40-
}));
41-
const blockUnauthenticatedAccess = useSelector(
42-
(state: IApplicationState) => state.settings.Accounts_AvatarBlockUnauthenticatedAccess ?? true
36+
const { avatarExternalProviderUrl, roomAvatarExternalProviderUrl, cdnPrefix } = useAppSelector(
37+
state => ({
38+
avatarExternalProviderUrl: state.settings.Accounts_AvatarExternalProviderUrl as string,
39+
roomAvatarExternalProviderUrl: state.settings.Accounts_RoomAvatarExternalProviderUrl as string,
40+
cdnPrefix: state.settings.CDN_PREFIX as string
41+
}),
42+
shallowEqual
43+
);
44+
const blockUnauthenticatedAccess = useAppSelector(
45+
state => state.settings.Accounts_AvatarBlockUnauthenticatedAccess ?? true
4346
) as boolean;
4447

4548
const { avatarETag } = useAvatarETag({ username, text, type, rid, id });

0 commit comments

Comments
 (0)