变量而不是节点名称

Mai*_*iti 2 javascript reactjs react-jsx

如何在jsx中使用渲染中使用JavaScript变量而不是节点名?像这样的东西:

var First = React.createClass({
  render: function() {
    var nodeName = this.props.node; // this.props.node = 'Second';
    return <{nodeName}/>;
  }
});
var Second = React.creactClass({/*...*/});
Run Code Online (Sandbox Code Playgroud)

rdi*_*diz 5

在这种情况下,不要使用JSX.

var First = React.createClass({
  render: function() {
    var nodeName = this.props.node; // this.props.node = 'Second';
    return React.createElement(nodeName);
  }
});
var Second = React.createClass({/*...*/});
Run Code Online (Sandbox Code Playgroud)

当编译成Vanilla JS时,这最终是JSX的结果.