同じコンポーネントを多くのページで1つのページにレンダリングすることができます。ユーザーは同じ子コンポーネントを複数追加できます。子コンポーネントのフォーム要素内の日付を選択するときは、選択した子コンポーネントの日付のみを変更する必要があります。現時点では、画面上のすべての子コンポーネントの日付が変更されます。どこに間違っているのか誰にでも見られますか?Reactの特定のコンポーネントの状態を設定する
class ParentFixturesComponent extends Component {
constructor() {
super();
this.state = {
numChildren: 0,
startDate: moment(),
id: uuid()
};
}
changeDate(newDate) {
this.setState({
startDate: newDate
});
}
onAddMatch() {
this.setState({
numChildren: this.state.numChildren + 1
});
}
render() {
const children = [];
for (let i = 0; i < this.state.numChildren; i += 1) {
children.push(<SingleMatchForm startDate={this.state.startDate}
key={this.state.id}
changeDate={this.changeDate.bind(this)}
/>)
}
return (
<Fixtures addMatch={this.onAddMatch.bind(this)}>
{children}
</Fixtures>
);
}
}
export default ParentFixturesComponent;
子コンポーネント
class SingleMatchForm extends Component {
handleChange(params) {
this.props.changeDate(params);
}
render() {
return (
<div className="row">
<div key={this.props.id} className="form-group">
<label className="control-label col-md-2">New Match</label>
<div className="col-md-6">
<DatePicker
selected={this.props.startDate}
onChange={this.handleChange.bind(this)}/>
<div className="section-divider mb40" id="spy1"> </div>
</div>
</div>
</div>
);
}
}
export default SingleMatchForm;
助けてくれてありがとう –
嬉しいです、それはあなたを助けました:) –
@MayankShuklaこれで私を助けてください:http://stackoverflow.com/questions/43939725/failed-prop-type-the-prop-actionsテストでは必要とされているようにマークされていますnoredirect = 1#comment74913611_43939725 –