我已經制作了這個「貨幣轉換器」來了解React如何工作。React-App:道具在下一個事件後更新
它的工作原理(更多或更少),但結果顯示具有偏移:
您鍵入「1」(歐元)=>它顯示「0元」。
您輸入「10」=>它顯示「1.1308美元」。
輸入「100」=>顯示「11.308美元」。
...
var Display = React.createClass({
render: function() {
return (
<div>
<p>{this.props.euro + ' Euro are equal to ' + this.props.dollar + ' Dollar.'}</p>
</div>
)
}
});
var Converter = React.createClass({
getInitialState: function() {
return { euro: 0, dollar: 0, exchangeRate: 1.1308 }
},
convertEuroToDollar: function() {
this.setState({ euro: +document.querySelector('#amount-euro').value });
this.setState({ dollar: this.state.euro * this.state.exchangeRate });
},
render: function() {
return (
<div>
<input type="text" id="amount-euro" onKeyUp={this.convertEuroToDollar} />
<Display dollar={this.state.dollar} euro={this.state.euro} exchangeRate={this.state.exchangeRate} />
</div>
)
}
});
ReactDOM.render(
<Converter />,
document.querySelector('#app')
);
div {
margin: 30px 50px;
}
<div id="app"></div>
實況演示上CodePen:http://codepen.io/mizech/pen/vGbJxe
應該同時顯示的結果(歐元* EXCHANGERATE)。
我在做什麼錯在這裏?