一次调用两个函数不起作用

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

我试图调用两个函数,但它不起作用 我在第一次加载时就主动进行了安慰。 但是当单击 onhidemodalhandler props.onclose 正在关闭我的模式,但 setactive 没有更新为 false

我的代码

const [active, setActive] = useState(true);
  const modalSize = props.size ? `${props.size}` : "max-w-xl";

  const onHideModalHandler = () => {
    setActive(false);
    props.onClose();
  };
  
  useEffect(() => {
    // if (active) {
    //   document.body.classList.add("modal-open");
    // }

    console.log(active, "active");

    // if (!active) {
    //   document.body.classList.remove("modal-open");
    // }
  }, [active]);

reactjs react-hooks react-props onload
1个回答
0
投票

我相信代码看起来不错,React 会执行这两个函数。

我怀疑两件事

  1. onClose 是否破坏了你的组件
  2. 您是否再次打开模态框,从而触发 useEffect() 记录 true,因为这就是“活动”的实例化方式?

尝试在所有功能中保留日志并进行验证。它应该工作得很好:)

© www.soinside.com 2019 - 2024. All rights reserved.