/
githubmirror
/
react-hook-form
Обзор
Документация
Войти
/
githubmirror
/
react-hook-form
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/useResyncOnReconnect.ts
39 строк
923 B
Bill
🛹 feat: support `<Activity />` (#13633)
06 авг 2026, 14:12
Не верифицирован
06 авг 2026, 14:12
9fde5f3
Код
Авторство
О чём код?
import React from 'react'; import cloneObject from './utils/cloneObject'; import deepEqual from './utils/deepEqual'; export function useResyncOnReconnect<T>() { const _connected = React.useRef(false); const _prevValue = React.useRef<T | undefined>(undefined); const resyncIfNeeded = React.useCallback( ( enabled: boolean, getCurrentValue: () => T, setValue: (value: T) => void, ) => { if (enabled && _connected.current) { const currentValue = getCurrentValue(); if (!deepEqual(_prevValue.current, currentValue)) { setValue(currentValue); } } _connected.current = true; }, [], ); const snapshot = React.useCallback( (enabled: boolean, getCurrentValue: () => T) => { if (enabled) { _prevValue.current = cloneObject(getCurrentValue()); } }, [], ); return { resyncIfNeeded, snapshot }; }