为什么父组件的Scroll事件会触发子组件?

问题描述 投票:0回答:0

我在 React 中有一个带有 Scroll 事件的父组件。 当我使用 useState 并滚动页面时,子组件会触发。 子函数被触发。为什么 ?糟糕的表现:(

function Parent() {
  const [scrollTop, setScrollTop] = useState(0);

  const onScroll = () => {
    setScrollTop(window.pageYOffset || document.documentElement.scrollTop);
  };

  useEffect(() => {
    onScroll();
  });

  useEffect(() => {
    document.addEventListener('scroll', onScroll);
    return () => document.removeEventListener('scroll', onScroll);
  });

  return (
   <>
     <Child />
     <Child />
   </>
  );
}

function Child() {
  console.log('triggered??');

  const something = () => {
    console.log('triggered again??');

    return true;
  };

  return <div>{something}</div>;
}
reactjs react-hooks scroll parent-child
© www.soinside.com 2019 - 2024. All rights reserved.