Контролируемые компоненты (способ реагирования)
Вы можете сохранить оба значения в состоянии. Затем вы используете их в форме onSubmit
.
См. https://reactjs.org/docs/forms.html
/* component init */
constructor(props) {
super(props);
this.state = {
value1: '',
value2: ''
}
}
/* handle changes */
onChange1(event) {
this.setState({ value1: event.target.value });
}
onChange2(event) {
this.setState({ value2: event.target.value });
}
/* submit method */
onSubmit(event) {
event.preventDefault();
const value1 = this.state.value1;
const value2 = this.state.value2;
console.log(value1, value2);
}
/* render */
<form onSubmit={this.onSubmit}>
<input type="text" value={this.state.value1} onChange={this.onChange1} />
<input type="number" value={this.state.value2} onChange={this.onChange2} />
<input type="submit" value="Submit" />
</form>
Неконтролируемые компоненты (не способ React)
Если вы Если вы хотите использовать неконтролируемые компоненты (не храните значения yourswlf), вы должны использовать refs
.
Подробнее о ссылках https://reactjs.org/docs/refs-and-the-dom.html.
/* component init */
constructor(props) {
super(props);
this.input1 = React.createRef();
this.input2 = React.createRef();
}
/* submit method */
handleSubmit(event) {
event.preventDefault();
const value1 = this.input1.current.value;
const value2 = this.input2.current.value;
console.log(value1, value2);
}
/* render */
<form onSubmit={this.handleSubmit}>
<input type="text" ref={this.input1} />
<input type="number" ref={this.input2} />
<input type="submit" value="Submit" />
</form>