From 515c028310eaf8f2f332fe15ea7c50b41d95c714 Mon Sep 17 00:00:00 2001 From: azro Date: Fri, 2 Dec 2022 09:46:05 +0100 Subject: [PATCH] Try to use only hook useResponsiveMap --- components/_util/__tests__/responsiveObserve.test.ts | 4 ++-- components/_util/responsiveObserve.ts | 8 ++------ 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/components/_util/__tests__/responsiveObserve.test.ts b/components/_util/__tests__/responsiveObserve.test.ts index 6ab86ec802ea..27bc6694b380 100644 --- a/components/_util/__tests__/responsiveObserve.test.ts +++ b/components/_util/__tests__/responsiveObserve.test.ts @@ -1,8 +1,8 @@ -import ResponsiveObserve, { responsiveMap } from '../responsiveObserve'; +import ResponsiveObserve, { useResponsiveMap } from '../responsiveObserve'; describe('Test ResponsiveObserve', () => { it('test ResponsiveObserve subscribe and unsubscribe', () => { - const { xs } = responsiveMap; + const { xs } = useResponsiveMap(); const subscribeFunc = jest.fn(); const token = ResponsiveObserve.subscribe(subscribeFunc); expect(ResponsiveObserve.matchHandlers[xs].mql.matches).toBeTruthy(); diff --git a/components/_util/responsiveObserve.ts b/components/_util/responsiveObserve.ts index 056edd1b5fc9..cffb8b89e951 100644 --- a/components/_util/responsiveObserve.ts +++ b/components/_util/responsiveObserve.ts @@ -20,8 +20,6 @@ const useResponsiveMap = (): BreakpointMap => { } as BreakpointMap; }; -export const responsiveMap: BreakpointMap = useResponsiveMap(); - type SubscribeFunc = (screens: ScreenMap) => void; const subscribers = new Map(); let subUid = -1; @@ -51,16 +49,14 @@ const responsiveObserve = { if (!subscribers.size) this.unregister(); }, unregister() { - Object.keys(responsiveMap).forEach((screen: Breakpoint) => { - const matchMediaQuery = responsiveMap[screen]; + Object.keys(useResponsiveMap()).forEach((screen: Breakpoint, matchMediaQuery: string) => { const handler = this.matchHandlers[matchMediaQuery]; handler?.mql.removeListener(handler?.listener); }); subscribers.clear(); }, register() { - Object.keys(responsiveMap).forEach((screen: Breakpoint) => { - const matchMediaQuery = responsiveMap[screen]; + Object.keys(useResponsiveMap()).forEach((screen: Breakpoint, matchMediaQuery: string) => { const listener = ({ matches }: { matches: boolean }) => { this.dispatch({ ...screens,