fix: responsive reactive #6213
							parent
							
								
									9d5343ae9c
								
							
						
					
					
						commit
						d211688059
					
				|  | @ -1,6 +1,6 @@ | |||
| import { computed } from 'vue'; | ||||
| import type { GlobalToken } from '../theme/interface'; | ||||
| import { useToken } from '../theme/internal'; | ||||
| import useMemo from './hooks/useMemo'; | ||||
| 
 | ||||
| export type Breakpoint = 'xxxl' | 'xxl' | 'xl' | 'lg' | 'md' | 'sm' | 'xs'; | ||||
| export type BreakpointMap = Record<Breakpoint, string>; | ||||
|  | @ -22,10 +22,9 @@ const getResponsiveMap = (token: GlobalToken): BreakpointMap => ({ | |||
| 
 | ||||
| export default function useResponsiveObserver() { | ||||
|   const [, token] = useToken(); | ||||
|   const responsiveMap: BreakpointMap = getResponsiveMap(token.value); | ||||
| 
 | ||||
|   // To avoid repeat create instance, we add `useMemo` here.
 | ||||
|   return useMemo(() => { | ||||
|   return computed(() => { | ||||
|     const responsiveMap: BreakpointMap = getResponsiveMap(token.value); | ||||
|     const subscribers = new Map<Number, SubscribeFunc>(); | ||||
|     let subUid = -1; | ||||
|     let screens = {}; | ||||
|  | @ -82,5 +81,5 @@ export default function useResponsiveObserver() { | |||
|       }, | ||||
|       responsiveMap, | ||||
|     }; | ||||
|   }, [token]); | ||||
|   }); | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 tangjinzhou
						tangjinzhou