我是新的反应试图实现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时得到的错误'? –