Загрузка данных


import { useCallback, useRef } from 'react';

type UsePreservedSipUriResult = {
  preserveSipUri: (value?: string | null) => void;
  getPreservedSipUri: () => string;
  resetPreservedSipUri: () => void;
};

export const usePreservedSipUri = (): UsePreservedSipUriResult => {
  const preservedSipUriRef = useRef('');

  const preserveSipUri = useCallback((value?: string | null) => {
    if (typeof value === 'string') {
      preservedSipUriRef.current = value;
    }
  }, []);

  const getPreservedSipUri = useCallback(() => {
    return preservedSipUriRef.current;
  }, []);

  const resetPreservedSipUri = useCallback(() => {
    preservedSipUriRef.current = '';
  }, []);

  return {
    preserveSipUri,
    getPreservedSipUri,
    resetPreservedSipUri,
  };
};