Skip to content

Commit 466cb44

Browse files
committed
fix: memoize basicVolume hook return as well
1 parent 7934824 commit 466cb44

File tree

1 file changed

+20
-17
lines changed

1 file changed

+20
-17
lines changed
Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { useMemo } from 'react';
12
import { useWebsocketContext } from '../../../utils/useWebsocketContext';
23
import { useButtonHeldHeartbeat } from '../useButtonHeldHeartbeat';
34
import { PressHoldReleaseReturn } from '../usePressHoldRelease';
@@ -7,21 +8,21 @@ import { PressHoldReleaseReturn } from '../usePressHoldRelease';
78
* @param path path prefix to for the device. i.e. /device/{key} or /room/{key}
89
* @returns
910
*/
10-
export function useIBasicVolume(
11-
path: string,
12-
): IBasicVolumeReturn | undefined {
11+
export function useIBasicVolume(path: string): IBasicVolumeReturn | undefined {
1312
const { sendMessage } = useWebsocketContext();
1413

1514
const volumeUp = useButtonHeldHeartbeat(`${path}`, 'volumeUp');
1615
const volumeDown = useButtonHeldHeartbeat(`${path}`, 'volumeDown');
1716

18-
const muteToggle = () => sendMessage(`${path}/muteToggle`, null);
17+
return useMemo(() => {
18+
const muteToggle = () => sendMessage(`${path}/muteToggle`, null);
1919

20-
return {
21-
volumeUp,
22-
volumeDown,
23-
muteToggle,
24-
};
20+
return {
21+
volumeUp,
22+
volumeDown,
23+
muteToggle,
24+
};
25+
}, [path, sendMessage, volumeUp, volumeDown]);
2526
}
2627

2728
export interface IBasicVolumeReturn {
@@ -31,18 +32,20 @@ export interface IBasicVolumeReturn {
3132
}
3233

3334
export function useGetIBasicVolume(
34-
path: string,
35+
path: string
3536
): IBasicVolumeReturn | undefined {
3637
const { sendMessage } = useWebsocketContext();
3738

3839
const volumeUp = useButtonHeldHeartbeat(`${path}`, 'volumeUp');
3940
const volumeDown = useButtonHeldHeartbeat(`${path}`, 'volumeDown');
4041

41-
const muteToggle = () => sendMessage(`${path}/muteToggle`, null);
42-
43-
return {
44-
volumeUp,
45-
volumeDown,
46-
muteToggle,
47-
};
42+
return useMemo(() => {
43+
const muteToggle = () => sendMessage(`${path}/muteToggle`, null);
44+
45+
return {
46+
volumeUp,
47+
volumeDown,
48+
muteToggle,
49+
};
50+
}, [path, sendMessage, volumeUp, volumeDown]);
4851
}

0 commit comments

Comments
 (0)