Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 您可以在React组件中使用事件吗?_Javascript_Modal Dialog_Reactjs - Fatal编程技术网

Javascript 您可以在React组件中使用事件吗?

Javascript 您可以在React组件中使用事件吗?,javascript,modal-dialog,reactjs,Javascript,Modal Dialog,Reactjs,我正在尝试构建一个模式,我有以下代码: 目前,我正在ModalBackdrop组件上使用onClick事件来尝试将模态和背景隐藏在一起: <ModalBackdrop onClick={this.closeModal} isOpen={this.state.isOpen}> 然而,这不起作用。为什么会这样,我怎么才能摆脱它呢?我的猜测是因为您不能在React组件上使用事件,但我在文档中找不到任何说明您可以/不能的内容。以下是您的JS Fiddle修复: 基本上,在backgro

我正在尝试构建一个模式,我有以下代码:

目前,我正在ModalBackdrop组件上使用onClick事件来尝试将模态和背景隐藏在一起:

<ModalBackdrop onClick={this.closeModal} isOpen={this.state.isOpen}>


然而,这不起作用。为什么会这样,我怎么才能摆脱它呢?我的猜测是因为您不能在React组件上使用事件,但我在文档中找不到任何说明您可以/不能的内容。

以下是您的JS Fiddle修复:


基本上,在background中,您试图调用处理程序“this.closeModal”,它不是在
background
组件中定义的,而是在父组件(
modalSignInButton
)中定义的。通常,您提供回调作为子组件的支持,它们在需要通知其父组件时使用回调。

谢谢!我注意到,当你在模态中点击时,它也会消失;对于任何对我修复的最后一件事感兴趣的人,他们可以在这里查看: