From aa86c65831176eb2e26227e49ef4def094a66c49 Mon Sep 17 00:00:00 2001 From: Shaleen Kachhara Date: Thu, 6 Jan 2022 18:14:04 +0530 Subject: [PATCH] fix(useLayoutEffect) : useIsomorphicLayoutEffect to declutter Server Logs (#167) * fix(useLayoutEffect): introduce useIsomorphicLayoutEffect to declutter server logs * refactor(lint): revert unintended linting changes * refactor(rc-util): utilize useLayoutEffect that already exits in rc-util Co-authored-by: Shaleen Kachhara --- examples/animate.tsx | 3 ++- src/List.tsx | 3 ++- src/hooks/useMobileTouchMove.ts | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/examples/animate.tsx b/examples/animate.tsx index da38dac8..daa632f3 100644 --- a/examples/animate.tsx +++ b/examples/animate.tsx @@ -5,6 +5,7 @@ import * as React from 'react'; import CSSMotion from 'rc-animate/lib/CSSMotion'; import classNames from 'classnames'; import List, { ListRef } from '../src/List'; +import useLayoutEffect from 'rc-util/lib/hooks/useLayoutEffect'; import './animate.less'; let uuid = 0; @@ -58,7 +59,7 @@ const MyItem: React.ForwardRefRenderFunction = ( ref, ) => { const motionRef = React.useRef(false); - React.useLayoutEffect(() => { + useLayoutEffect(() => { return () => { if (motionRef.current) { onAppear(); diff --git a/src/List.tsx b/src/List.tsx index c24d8cdf..2228da50 100644 --- a/src/List.tsx +++ b/src/List.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import { useRef, useState, useLayoutEffect } from 'react'; +import { useRef, useState } from 'react'; import classNames from 'classnames'; import Filler from './Filler'; import ScrollBar from './ScrollBar'; @@ -11,6 +11,7 @@ import useDiffItem from './hooks/useDiffItem'; import useFrameWheel from './hooks/useFrameWheel'; import useMobileTouchMove from './hooks/useMobileTouchMove'; import useOriginScroll from './hooks/useOriginScroll'; +import useLayoutEffect from 'rc-util/lib/hooks/useLayoutEffect'; const EMPTY_DATA = []; diff --git a/src/hooks/useMobileTouchMove.ts b/src/hooks/useMobileTouchMove.ts index 725e1f0c..0daf3062 100644 --- a/src/hooks/useMobileTouchMove.ts +++ b/src/hooks/useMobileTouchMove.ts @@ -1,5 +1,6 @@ import * as React from 'react'; import { useRef } from 'react'; +import useLayoutEffect from 'rc-util/lib/hooks/useLayoutEffect'; const SMOOTH_PTG = 14 / 15; @@ -67,7 +68,7 @@ export default function useMobileTouchMove( } }; - React.useLayoutEffect(() => { + useLayoutEffect(() => { if (inVirtual) { listRef.current.addEventListener('touchstart', onTouchStart); }