オブジェクトを作成してそれを親コンポーネントに渡すのがベストプラクティスですか?下のコードはうまくいきますが、2つのフィールドを持つ単純なフォームを送信するために、ここにたくさんのものを入れなければならないようです。私は、コンストラクタを作成していオブジェクトを作成してそれを親コンポーネントに渡すのがベストプラクティスですか?
、
リスニングイベント、
結合事象、
App.js
に更新し、通過状態は、これがベストプラクティス?:
はです。class AddFishForm extends React.Component {
constructor(props) {
super(props);
this.state = {
title: '',
amount: ''
};
this.onTitleChange = this.onTitleChange.bind(this);
this.onAmountChange = this.onAmountChange.bind(this);
}
onTitleChange = (e) => {
const title = e.target.value;
this.setState(() => ({ title }));
};
onAmountChange = (e) => {
const amount = e.target.value;
this.setState(() => ({ amount }));
};
createFish(event) {
event.preventDefault();
this.props.addFish({
url: this.state.url,
title: this.state.title
});
}
render() {
return (
<Segment>
<Form onSubmit={(e) => this.createFish(e)}>
<Form.Group >
<Form.Input
type='text'
placeholder='picture url'
autoFocus
value={this.state.title}
onChange={this.onTitleChange}
width={6}
/>
<Form.Input
type='text'
placeholder='title'
autoFocus
value={this.state.amount}
onChange={this.onAmountChange}
width={6}
/>
</Form.Group >
<Button fluid type='submit'>Submit</Button>
</Form>
</Segment>
)
}
}
あなたのソリューションに感謝します。しかし、私は自分のコードのコンテキストでこれを実装する方法を100%確信していません。私の場合に関連性の高いコードを提供できますか? – karolis2017
更新ありがとうございます。 – karolis2017