Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.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 JS:避免呈现组件时要执行的模式_Javascript_Reactjs - Fatal编程技术网

Javascript React JS:避免呈现组件时要执行的模式

Javascript React JS:避免呈现组件时要执行的模式,javascript,reactjs,Javascript,Reactjs,在React中使用Modals时,我注意到当呈现组件时,即使可见状态为false,也会执行模态体 示例: render() { return ( <Modal title="Basic Modal" visible={false} onOk={this.handleOk} onCancel={this.handleCance

在React中使用Modals时,我注意到当呈现组件时,即使可见状态为false,也会执行模态体

示例:

render() {
        return (
            <Modal
                title="Basic Modal"
                visible={false}
                onOk={this.handleOk}
                onCancel={this.handleCancel}
            >
                <p>Some contents...</p>
                {console.log('visible is false but content is being executed!')}
            </Modal>
        );
    }
render(){
返回(
一些内容

{console.log('visible为false,但正在执行内容!')} ); }
我只想在可见道具为true时执行整个模式。有办法吗


我正在使用这个基本模式组件:

您可以使用逻辑
&&
操作符进行条件呈现。
您可以在
例如:

render() {
        return (
          SomeCondition &&
            <Modal
                title="Basic Modal"
                visible={true}
                onOk={this.handleOk}
                onCancel={this.handleCancel}
            >
                <p>Some contents...</p>
                {console.log('visible is false but content is being executed!')}
            </Modal>
        );
    }
render(){
返回(
某些条件&&
一些内容

{console.log('visible为false,但正在执行内容!')} ); }
这不是模态,而是呈现模态的组件,当父组件重新呈现时,console.log将始终执行。

那么条件呈现呢?我认为它是如何工作的:它将执行console.log,因为组件实际呈现,但按样式设置为不可见。。。我是在寻找使用“重”模态的最优化方法的答案时发现这一点的=>如果你问我的话,条件渲染似乎是最好的方法!visible道具通过使模态不可见来向用户隐藏模态,包括在组件所在的每个渲染中,即使没有显示它!