UNPKG

react-native-confirmation-code-field

Version:

A react-native component to input confirmation code for both Android and IOS

19 lines (18 loc) 683 B
import { useCallback, useDebugValue, useState } from 'react'; export const useFocusState = (onBlurFromProps, onFocusFromProps) => { 'use memo'; const [isFocused, setFocusFlag] = useState(false); const onBlur = useCallback((blurEvent) => { setFocusFlag(false); onBlurFromProps?.(blurEvent); }, [onBlurFromProps]); const onFocus = useCallback((focusEvent) => { setFocusFlag(true); onFocusFromProps?.(focusEvent); }, [onFocusFromProps]); if (__DEV__) { // eslint-disable-next-line react-hooks/rules-of-hooks useDebugValue(isFocused ? 'Focused' : 'Unfocused'); } return [isFocused, onFocus, onBlur]; };