javascript - ReactJS:在 Modal 中动态加载组件的最佳方式

标签 javascript reactjs

我想像这样创建一个干净且可重用的模态组件:

var Modal = React.createClass({

  ....

  render: function() {
    return (
      <div className={ this.state.className }>
        <div className="modal-opacity" onClick={this.toggle}></div>
        <section className="modal-content">
          <a className="close" onClick={this.toggle}><img src="/images/icon-close.svg" alt="Close" /></a>
          <div>
            {this.props.module === 'curriculum' ? <Curriculum /> : <Contact /> }
          </div>
        </section>
      </div>
    );

为了保持整洁——我想将模态内容加载为基于 {this.props.module} 的组件值,来自发起者组件。

有更好的方法吗?类似于 <{this.props.module}/> ?或者这是不安全的?也许 ReactJS 中已经内置了一些东西?

最佳答案

您可以使用 this.props.children 来呈现组件的子控件。像这样:

var Control = React.createClass({
    render: function() {
        return <div>{ this.props.children }</div>;
    }
});

var App = React.createClass({
    render: function() {
        return <Control><h1>child control</h1></Control>;
    }
});

关于javascript - ReactJS:在 Modal 中动态加载组件的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31967194/

相关文章:

javascript - 嵌入的 svg 何时实际加载,我如何检查它是否加载

javascript - 为什么 typeof 或数字检查验证返回 false

javascript - 我可以获取闭包中变量的更新值吗?

html - 如何垂直对齐表格元素中的元素?

javascript - React - 仅在一个选项卡中显示按钮

reactjs - React - 使用 useEffect 或直接在 onChange 方法中更改值是否对性能最好?

javascript - 导入 React 与 React,{ 组件 }

javascript - 更改 style.top 时图像不移动

javascript - 使用 System.IdentityModel.Tokens.Jwt 验证在 C# 中生成的 token

javascript - 如何使用其子级将 CSS 应用于父级