React.render没有将元素呈现给DOM

时间:2015-07-26 19:52:40

标签: reactjs

如果我执行以下代码就可以了。



var Add = React.createClass({
  render:function () {
    var sum = this.props.x + this.props.y;
    return React.DOM.span({}, sum);
  }
});

Add = React.createFactory(Add);

var element = Add({ x: 2, y: 3 }); // <span>5</span>

React.render(element,document.body);
&#13;
&#13;
&#13;

但如果我将顶级代码与以下代码结合起来。 React.Render不显示Double的值。我可能错过了一些但不确定是什么。

&#13;
&#13;
var Add = React.createClass({
  render:function () {
    var sum = this.props.x + this.props.y;
    return React.DOM.span({}, sum);
  }
});

Add = React.createFactory(Add);

var Double = React.createClass({
  render:function () {
    return React.createElement(Add({
      x: this.props.value,
      y: this.props.value
    }));
  }
});

Double = React.createFactory(Double);
var element = Double({ value: 2 });

React.render(element,document.body);  //Should output <span>4</span>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

render的{​​{1}}函数中,您不必要地将Double传递给Add;你已经用React.createElement包裹了它。尝试:

React.createFactory

请参阅:https://jsbin.com/cacese/edit?html,js,output