객체 안에 key를 [ ] 로 감싸면 그 안에 넣은 레퍼런스가
가리키는 실제 값이 key 값으로 사용 된다.
const name = 'cony';
const object = {
[name] : 'value'
};
class EventPractice extends Component {
state = {
username : '',
message: ''
}
handleChange =(e) =>{
this.setState({
[e.target.name]: e.target.value
});
}
handleClick = () =>{
const {username} = this.state;
alert(username + ':'+this.state.message);
this.setState({
username : '',
message:''
});
}
render(){
const {message} = this.state;
return (
<div>
<h1>이벤트 연습</h1>
<input
type="text"
name="username"
placeholder="사용자 명"
value= {this.state.username}
onChange={this.handleChange}
/>
<input
type="text"
name="message"
placeholder="아무거나 입력하세요"
value= {message}
onChange={this.handleChange}
/>
<button onClick= {this.handleClick}>확인</button>
</div>
);
}
};
export default EventPractice;
input 태그가 2개 이기 때문에
각 객체를 담은 setState에 [e.target.name] 으로 값을 담는다.
handleChange =(e) =>{
this.setState({
[e.target.name]: e.target.value
});
}
'react' 카테고리의 다른 글
styled-components 설치 (css 사용) (0) | 2020.12.09 |
---|---|
JSX 문법 (0) | 2020.12.08 |
리엑트의 이벤트(Event) (0) | 2020.12.07 |
함수형 컴포넌트 useState 사용 (0) | 2020.12.07 |
state , useState 사용하기 (0) | 2020.12.07 |