送信ボタンをクリックしたときに空の値が表示される理由を理解できません。私は得る:You have submitted: {}
。問題は、Reset data
ボタンをクリックしたときと同じです。私が理解したことによると、結果は{"firmName":"test"
}であるはずです。私はそれを働かせることはできません。どんな助けや提案も非常に感謝しています。なぜ私はreactJsのReduxフォームから空の値を取得していますか?
class FirmDataTab extends Component {
constructor(props) {
super(props);
this.state = {
firmName: 'test'
};
this.reset = this.reset.bind(this);
}
reset() {
this.setState = {
firmName: ''
};
}
render() {
const { handleSubmit } = this.props;
return(
<form onSubmit={ handleSubmit }>
<div className="jumbotron">
<div>
<label>Firm name</label>
<div style={{marginTop: -22, marginLeft: 80}}>
<input
name="firmnname"
type="text"
defaultValue={this.state.firmName} />
</div>
</div>
<div>
<FormGroup>
<Col smOffset={2} sm={10}>
<button
type="submit"
className="btn btn-info" style={{marginLeft: -40, marginRight: 20, marginTop: 10}}> Submit </button>
<button onClick={this.reset}> Reset data </button>
</Col>
</FormGroup>
</div>
</div>
</form>
);
}
}
FirmDataTab .propTypes = {
handleSubmit: PropTypes.func.isRequired
};
export default reduxForm({
form: 'TestForm'
})(FirmDataTab);
'@Phi Nguyen'私は' value'に変更されましたが、それと同じ問題です。さらに、私は次のように表示されます: '失敗したフォームpropType:' onChange'ハンドラのないフォームフィールドに 'value' propを指定しました。これは、読み取り専用フィールドをレンダリングします。フィールドが変更可能な場合は、 'defaultValue'を使用します。それ以外の場合は、onChangeまたはreadOnlyのいずれかを設定します。 'FirmDataTab'のレンダリングメソッドを確認してください。 – carl
@carl入力の値が変更されたときにイベントハンドラを作成する必要があります。この例を確認してください。 https://facebook.github.io/react/docs/lifting-state-up.html –