@aliyun-obv/hooks
Advanced tools
Comparing version 0.2.27 to 0.2.28-beta.0
@@ -1,6 +0,6 @@ | ||
import React, { MutableRefObject } from 'react'; | ||
import React$1, { MutableRefObject, EffectCallback } from 'react'; | ||
declare function usePersistState<T>(initialState: T): [React.MutableRefObject<T>, React.Dispatch<React.SetStateAction<T>>, T]; | ||
declare function usePersistState<T>(initialState: T): [React$1.MutableRefObject<T>, React$1.Dispatch<React$1.SetStateAction<T>>, T]; | ||
declare function usePrevious<T>(value: T, initial?: T): [T, React.MutableRefObject<T>]; | ||
declare function usePrevious<T>(value: T, initial?: T): [T, React$1.MutableRefObject<T>]; | ||
@@ -37,3 +37,3 @@ type UseObserverSizeRect = Pick<DOMRectReadOnly, 'x' | 'y' | 'top' | 'left' | 'right' | 'bottom' | 'height' | 'width'>; | ||
*/ | ||
declare function useSemiControlledValue<T>(initialState: T, isEqual?: (s1: T, s2: T) => boolean): [T, React.Dispatch<React.SetStateAction<T>>]; | ||
declare function useSemiControlledValue<T>(initialState: T, isEqual?: (s1: T, s2: T) => boolean): [T, React$1.Dispatch<React$1.SetStateAction<T>>]; | ||
@@ -45,6 +45,10 @@ /** | ||
*/ | ||
declare function useValueRef<T>(value: T): React.MutableRefObject<T>; | ||
declare function useValueRef<T>(value: T): React$1.MutableRefObject<T>; | ||
declare function useUniqueId(): string; | ||
export { UseObserverSizeRect, useObserverRect, useObserverSize, usePersistState, usePrevious, useSemiControlledValue, useUniqueId, useValueRef, useWindowSize }; | ||
declare const useUnmount: (fn?: () => any) => [React.MutableRefObject<boolean>, boolean]; | ||
declare const useEffectOnce: (effect: EffectCallback) => void; | ||
export { UseObserverSizeRect, useEffectOnce, useObserverRect, useObserverSize, usePersistState, usePrevious, useSemiControlledValue, useUniqueId, useUnmount, useValueRef, useWindowSize }; |
@@ -184,3 +184,20 @@ import { useState, useRef, useEffect, useMemo, useLayoutEffect, useCallback } from 'react'; | ||
export { useObserverRect, useObserverSize, usePersistState, usePrevious, useSemiControlledValue, useUniqueId, useValueRef, useWindowSize }; | ||
const useEffectOnce = (effect) => { | ||
useEffect(effect, []); | ||
}; | ||
const useUnmount = (fn) => { | ||
const fnRef = useRef(fn); | ||
const isUnMountRef = useRef(false); | ||
fnRef.current = fn; | ||
useEffectOnce(() => () => { | ||
if (fnRef.current) { | ||
fnRef.current(); | ||
} | ||
isUnMountRef.current = true; | ||
}); | ||
return [isUnMountRef, isUnMountRef.current]; | ||
}; | ||
export { useEffectOnce, useObserverRect, useObserverSize, usePersistState, usePrevious, useSemiControlledValue, useUniqueId, useUnmount, useValueRef, useWindowSize }; | ||
//# sourceMappingURL=hooks.es.js.map |
@@ -12,3 +12,3 @@ { | ||
"devDependencies": {}, | ||
"version": "0.2.27" | ||
"version": "0.2.28-beta.0" | ||
} |
19301
230