未捕获的类型错误:t不是onSubmit ReactJS Hooks中的函数

nhjlsmyf  于 2023-04-11  发布在  React
关注(0)|答案(1)|浏览(116)

我正在通过props传递closePopup函数。这个函数可以工作,但是我在控制台中得到错误。
我的组件

function FormSearch({ closePopup }) {
  const submitSearch = (event) => {
    event.preventDefault();
    closePopup();
  };
}

我的函数关闭另一个组件中的弹出窗口。

function MobileProvider() {
const [showPopup, setShowPopup] = useState(false);

  const closePopup = () => {
    setShowPopup((prev) => !prev);
  };
}

我希望通过props传递函数来解决这个问题,这样控制台中的错误就不会看得更远了。
细节,点击的时候,弹出窗口正常关闭,我只是不明白为什么控制台会出现错误。

6jygbczu

6jygbczu1#

当传递closePopup时,你需要设置这个setShowPopup存在的作用域(this),因为你正在执行子对象中的方法,而setShowPopup不存在。
可以通过在父零部件中设置此值来执行此操作。

<ChildComponent setShowPopup={closePopup.bind(this)}>

</ChildComponent >

相关问题