0

我正在使用 react-intersection-observer 以便在组件处于视图中时制作一些动画。

它很酷,但是,当我尝试进入移动屏幕时,例如 633 像素宽度和 400 像素高度,它不起作用,我真的不知道为什么。

让我给你看代码

所以,我在这里做的是,我想知道用户何时看到 45% 的组件,但是,它总是给出错误,是因为这个组件很大,可能它的高度是 750px 甚至更多,手机屏幕的高度只有400px?我不知道...我只是想了解为什么它不起作用

const DifferentWorks = () => {
  const [scrollY, setScrollY] = useState(0);

  const { inView, ref } = useInView({ threshold: 0.45 });

  useEffect(() => {
    scrollYProgress.onChange(n => setScrollY(n));
  }, [inView, scrollYProgress, scrollY]);

console.log(inView)

  return (
    <div ref={ref}>
      <DifferentWorksHero>
      </DifferentWorksHero>
    </div>
  );
};

export default DifferentWorks;

让我告诉你什么是输出console.log(inView)

我从下到上滚动了所有组件,这是输出

在此处输入图像描述

总是假的。。

什么可能会产生该错误?为什么当我更改屏幕大小时它不起作用?,特别是当宽度为 663 像素且高度低于 500 像素时

4

0 回答 0