我正在尝试学习我的第一个javascript项目的反应,并作为一个开始创建一个非常简单的代码,添加在文本框中输入的两个数字。在键入数字时重新呈现结果。这对我起作用反应v0.11。
var App = React.createClass({
mixins: [React.addons.LinkedStateMixin],
getInitialState: function() {
return {
payment: 0,
payment2: 0
};
},
render: function() {
var total = parseInt(this.state.payment, 10) +
parseInt(this.state.payment2, 10);
return (
<div>
<Payment {...this.props} valueLink={this.linkState('payment')}/><span>+</span>
<Payment {...this.props} valueLink={this.linkState('payment2')}/><span>=</span>
{ total }
</div>
);
}
});
var Payment = React.createClass({
render: function() {
return this.transferPropsTo(
<input type="text" />
);
}
});
React.render(
<App />,
document.getElementById('app')
);
但是,似乎在v0.13中删除了 transferPropsTo()功能。我如何在最新版本中执行等效操作。
答案 0 :(得分:6)
您可以在输入标记中传递{...this.props}
:
var Payment = React.createClass({
render: function() {
return (
<input type="text" {...this.props} />
);
}
});
这使用JSX spread attributes功能。