如果我执行以下代码就可以了。
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;
但如果我将顶级代码与以下代码结合起来。 React.Render不显示Double的值。我可能错过了一些但不确定是什么。
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;
答案 0 :(得分:0)
在render
的{{1}}函数中,您不必要地将Double
传递给Add
;你已经用React.createElement
包裹了它。尝试:
React.createFactory