我是新的反應試圖實現Redux
我試圖更新文本輸入更新時的狀態。我能提取e.target.value
但它也需要知道什麼對象的改變傳遞事件和對象在作用
例如我的數據可能是這樣的:
{ name: 'Penny', namePlural: 'Pennies', label: '1¢', value: .01, sum: 0 },
{ name: 'Nickel', namePlural: 'Nickels', label: '5¢', value: .05, sum: 0 },
{ name: 'Dime', namePlural: 'Dimes', label: '10¢', value: .10, sum: 0 },
{ name: 'Quarter', namePlural: 'Quarters', label: '25¢', value: .25, sum: 0 }
我需要更新sum
特定面額。
以下是我爲我演示組件
import React, { Component } from 'react';
import PropTypes from 'prop-types';
class DenomInput extends Component {
constructor(props) {
super(props);
this.state = {
denom: props.denom
}
}
handleKeyUp = (e) => {
this.props.onDenomChange(e.target.value);
}
render() {
return (
<div className="input-group denom">
<span className="input-group-addon">{this.state.denom.label}</span>
<input
type="text"
className="form-control"
onChange={this.handleKeyUp}
value={this.state.denom.sum} />
<span className="input-group-addon">{this.state.denom.count | 0}</span>
</div>
);
}
}
DenomInput.PropTypes = {
denom: PropTypes.object.isRequired
}
export default DenomInput;
有了這個我能夠獲得輸入字段的值,但我怎麼能放過我目前上以及其面值?
爲什麼沒有通過另一個值作爲這樣的第二個參數:'這.props.onDenomChange(e.target.value,this.state.denom.name);'? –
我試過了,它沒有訪問'this.state'' –
你正在使用'arrow function'它肯定會有訪問權限,你能告訴我你使用'this.state時得到的錯誤'? –