首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用React.js显示/隐藏模式不工作

使用React.js显示/隐藏模式不工作
EN

Stack Overflow用户
提问于 2016-05-03 01:16:47
回答 1查看 5.8K关注 0票数 1

这是我的模态组件:

代码语言:javascript
复制
'use strict';

import React from 'react';

const Modal = React.createClass({
    handleOverlayClick () {
        this.setState({ showModal: false });
    },

    shouldComponentUpdate (newProps, newState) {
        return newState.showModal !== this.props.showModal;
    },

    render () {
        const style = {
            display: (this.props.showModal) ? 'block' : 'none'
        };

        console.log(style);

        return (
            <div className="modal-overlay" style={style}>
                <div className="modal-container" onClick={this.handleOverlayClick}>
                    <div className="modal-content modal-input">Hello, world</div>
                </div>
            </div>
        );
    }
});

module.exports = Modal;

我就是这样称呼它的:

代码语言:javascript
复制
'use strict';

import React from 'react';
import ReactDOM from 'react-dom';
import SplitButton from './split-button';
import EmmaButton from './emma-button';
import SelectEmailModal from './modals/email-select.modal';

const AddActionBtn = React.createClass({

    onClick () {
        return "#";
    },

    handleSendMailing () {
        return ReactDOM.render(<SelectEmailModal showModal={true} />, document.getElementById('modals'));
    },

    handleWait() {
        console.log("WAIT");
        return "#";
    },

    render () {
        return (
            <SplitButton primaryLabel="ADD ACTION &#9660;" primaryAction={this.onClick}>
                <ul>
                    <li><span onClick={this.handleSendMailing}>Send mailing</span></li>
                    <li><span onClick={this.handleWait}>Wait</span></li>
                </ul>
            </SplitButton>
        );
    }
});

module.exports = AddActionBtn;

我是个新手,所以请原谅我在这里的无知。只是想简单地显示/隐藏一个模态

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-03 01:20:36

也许是错误在这里?

display: (this.props.showModal) ? 'block' : 'none'

showModal是一种状态,而不是一种支柱,所以:this.state.showModal

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36994090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档