标签: react-resize-observer

ResizeObserver API 测试笑话

我尝试测试使用ResizeObserver. 另外,我需要检查元素是否溢出或调整大小后没有溢出。于是我写了这样一个决定:

import { useLayoutEffect, useState } from 'react';
import ResizeObserver from 'resize-observer-polyfill';

export default function useOverflowCheck(ref) {
  const [isOverflowing, setIsOverflowing] = useState(false);

  const isOverflow = current => {
    if (current) {
      const hasOverflowX = current.offsetWidth < current.scrollWidth;
      const hasOverflowY = current.offsetHeight < current.scrollHeight;

      setIsOverflowing(hasOverflowX || hasOverflowY);
    }
  };

  // eslint-disable-next-line react-hooks/exhaustive-deps
  useLayoutEffect(() => {
    const element = ref.current;

    const resizeObserver = new ResizeObserver(entries => {
      entries && entries.length && isOverflow(entries[0].target);
    });

    if (element) {
      resizeObserver.observe(element);
      return () …
Run Code Online (Sandbox Code Playgroud)

unit-testing reactjs jestjs react-hooks react-resize-observer

4
推荐指数
1
解决办法
2033
查看次数

警告:在 ResizeObserver 中找到多个带有“children”的子节点。只会观察第一个

就像标题的描述一样。在我的反应应用程序中有警告。

\n

系统:Mac OS Big Sur 11.2

\n

环境: Chrome 89.0.4389.90\xef\xbc\x88\xe6\xad\xa3\xe5\xbc\x8f\xe7\x89\x88\xe6\x9c\xac\xef\xbc\x89 (x86_64)

\n

警告详情

\n

reactjs react-resize-observer

2
推荐指数
1
解决办法
2980
查看次数