私は2つのフィールドを持つコンポーネントを持っています。これはコンバーターです。それはポンドとkgの間で変換します。私は、ユーザーが変更した入力、すなわちlbsまたはkgを入力すると、それに基づいて他の入力フィールドが更新されるコンポーネントを作成しようとしています。コードは単一の入力に対して機能しています。最初に入力した操作はもう一方の操作を更新しますが、もう一方の操作を変更しても機能しません。ReactJSで兄弟の値を相互に変更できない
私が間違って何をしています。..
コードペンURL:http://codepen.io/chesshouse/pen/zZOgVG
HTMLコード:
<div id="app"></div>
JSコード:
var Converter = React.createClass({
getInitialState: function() {
return {};
},
_calc: function (event) {
if (event.target.name === 'lbs'){
this.setState({
kg: this.convertToKG(event.target.value),
});
} else {
this.setState({
lbs: this.convertToLBS(event.target.value),
});
}
},
convertToLBS: function (kg) {
var lbs;
lbs = parseInt(kg) * 2.2046226218;
return lbs;
},
convertToKG: function (lbs) {
var kg;
kg = parseInt(lbs)/2.2046226218;
return kg;
},
render: function() {
return (
<div>
<label>LBS
<input type="text" name="lbs" onChange={this._calc} value={this.state.lbs} />
</label>
<label>Kg
<input type="text" name="kg" onChange={this._calc} value={this.state.kg} />
</label>
</div>
);
}
});
ReactDOM.render(
<Converter />,
document.getElementById('app'),
);