Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.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 |未显示虚拟DOM模式_Javascript_Reactjs_Modal Dialog_Virtual Dom - Fatal编程技术网

Javascript React |未显示虚拟DOM模式

Javascript React |未显示虚拟DOM模式,javascript,reactjs,modal-dialog,virtual-dom,Javascript,Reactjs,Modal Dialog,Virtual Dom,我正在为我的项目使用和 问题 我正在创建虚拟DOM元素。它有弹出窗口,其中有按钮,然后单击该按钮,显示模式 它显示错误无法读取未定义的属性“setState” JS代码 content = ( <div className="RecurringPopover"> <button onClick={this.showModal}> Show Modal </button> </div> ); 内容=( 显示模态 ); 上的完整

我正在为我的项目使用和

问题

我正在创建虚拟DOM元素。它有
弹出窗口
,其中有
按钮
,然后单击该按钮,显示
模式

它显示错误
无法读取未定义的属性“setState”

JS代码

content = (
  <div className="RecurringPopover"> 
    <button onClick={this.showModal}> Show Modal </button> 
  </div>
);
内容=(
显示模态
);

上的完整代码

您需要将方法绑定到适当的范围:

content = (
  <div className="RecurringPopover"> 
    <button onClick={this.showModal.bind(this)}> Show Modal </button> 
  </div>
);
内容=(
显示模态
);

添加您的构造函数

 constructor(props) {
    super(props);
    this.showModal = this.showModal.bind(this)
    this.state = {
        // hereyour state
    };
}

要关闭或打开模式,可以执行以下操作

 showModal() {
    this.setState({
        modal: !this.state.modal
    });
}

@条纹的。单击popover内的按钮。打开Modal时如何隐藏popover。是否要关闭Modal?@MariaJeysinghAnbu使用文档中详细说明的
可见
onVisibleChange
道具。示例:| Docs:当我在页面中有多个popover时,我该怎么办这已经脱离主题,但您需要在state对象中有不同的属性并分别处理它们。
 showModal() {
    this.setState({
        modal: !this.state.modal
    });
}