選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

use-swr-with-initial-data.ts 451B

1234567891011121314151617181920212223
  1. import { useEffect, useRef } from 'react';
  2. import useSWR from 'swr';
  3. const useSWRWithFallbackData = (
  4. key: string,
  5. fetcher: any,
  6. options = {
  7. fallbackData: {},
  8. }
  9. ) => {
  10. const hasMounted = useRef(false);
  11. useEffect(() => {
  12. hasMounted.current = true;
  13. }, []);
  14. return useSWR(key, fetcher, {
  15. ...options,
  16. fallbackData: hasMounted.current ? undefined : options?.fallbackData,
  17. });
  18. };
  19. export default useSWRWithFallbackData;