1+ import { useMemo } from 'react' ;
12import { useWebsocketContext } from '../../../utils/useWebsocketContext' ;
23import { useButtonHeldHeartbeat } from '../useButtonHeldHeartbeat' ;
34import { 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
2728export interface IBasicVolumeReturn {
@@ -31,18 +32,20 @@ export interface IBasicVolumeReturn {
3132}
3233
3334export 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