1
私はボタンをクリックするたびにフォームを追加する必要がある反応アプリを作っています。現在、私はカウンターを増やし、カウンターに数字をもとにフォームを表示しています。しかし、私はすべてのフォームを提出し、単一のボタンをクリックしてデータを取得する必要がありますが、私は各フォームとその特定のフォームのデータを提出している得られました。ボタンに動的フォームを追加するにはどうすれば反応するのですか?
これは私がフォームを表示しています方法です:
var HocAddForm = function(AbstractComponent,title){
return class extends React.Component {
constructor(props){
super(props);
this.state={
anotherForm:1
}
this.newForm=this.newForm.bind(this);
}
newForm(){
this.setState({
anotherForm:this.state.anotherForm+1
})
}
displayForm(){
let forms = [];
for(let i = 0; i < this.state.anotherForm; i++){
forms.push(
<div key={i}>
<AbstractComponent/>
</div>
)
}
console.log(this.state.value);
return forms || null;
}
render() {
const anotherForm=this.state.anotherForm;
const heading=title;
return(
<div>
<button id="add-button" onClick={this.newForm}>AddForm</button>
<h3 className="form-place">{heading}</h3>
{this.displayForm()}
</div>
)
}
}
}
マイAbstractComponent
は次のとおりです。
class Experiance extends Component {
render() {
return (
<Form onSubmit={this.props.onSubmit}>
<fieldset disabled={this.props.disabled}>
<Input
type="text"
name="companyName"
title="Company Name"
value=""
/>
<Input
type="number"
name="experiance"
title="No.of Years Worked"
value=""
/>
</fieldset>
<button id="button-right">
{this.props.buttonName}
</button>
</Form>
);
}
}
問題は、すべてのフォームデータを1つの送信ボタンで保存する必要があることです。私はこのアプローチが叶わないことを願っています。 – Candy
私はそれらを分離したフォーム、フィールドグループ、コンテナの1つのフォームとして保持しません。 – Kejt
あなたはすべてのグループに鍵をかけてから、ロジック(actionCreatorをredux-thunkまたはredux saga)あなたのデータを保存:) – Kejt