Я новичок в React и задаюсь вопросом, можно ли использовать один обработчик событий, чтобы установить состояние для многих входов. А именно, я не уверен, как получить «ключ» состояния от ввода в обработчик, если это имеет смысл.
import React from 'react';
class User extends React.Component {
constructor(props) {
super(props);
this.inputRef = React.createRef();
this.state = {
id: props.id,
firstName: props.firstName,
lastName: props.lastName,
email: props.email,
};
}
// how do I (can I) use this single handler to independently change the the state of multiple inputs?
handleChange(e) {
this.setState({ this.state.key // wrong!: this.inputRef.current.value });
}
render() {
return (
<div>
<input type="text" ref={this.inputRef} id={`first_${this.state.id}`} value={this.state.firstName} onChange={this.handleChange.bind(this)} />
<input type="text" ref={this.inputRef} id={`last_${this.state.id}`} value={this.state.lastName} onChange={this.handleChange.bind(this)} />
<input type="email" ref={this.inputRef} id={`email_${this.state.id}`} value={this.state.email} onChange={this.handleChange.bind(this)} />
// imagine ten more inputs
</div>
)
}
}