初始化,dom.offsetWidth 确实为 0.

解决

let timer;

const PageA = () => {
  const [count, setCount] = useState(0);

  const widthFun = () => {
    // 当无法使用ref获取时,只好使用原生方法
    const [formDom] = document.getElementsByClassName('needed-form');
    const formWidth = formDom?.offsetWidth;
  };

  useEffect(() => {
    timer = setTimeout(() => {
      filterItemHidden();
    }, 0);
    window.addEventListener('resize', widthFun);
    return () => {
      window.removeEventListener('resize', widthFun);
      clearTimeout(timer);
    };
  }, []);

  return <div></div>;
};
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐