오늘은 React의 State 와 Props에 대해서 배워보았다. 복습할때 유용하게 사용하고자 TIL을 작성한다.
state 에서 상태값을 설정하는 이유는 결국 컴포넌트 안의 요소에서 그 상태값을 반영해서 데이터가 바뀔 때마다 효율적으로 화면(UI)에 나타내기 위함입니다.
위에 올려둔 예시에서 볼수있듯 버튼태그를 추가했고 State 컴포넌트의 두번째 인자인 Setcolor 함수를 사용해서 버튼을 클릭하면 State의 상태를 파란색으로 바꿔줘!라는 명령을 작성하였다. 결국 State와 Event를 함께 활용하면 유저들이 사용하기 훨씬 풍부한 웹을 구상할수있다고 할수있겠다.
솔직히 이렇게만 봐서는 정말 아무것도 모르겠어서 예시를 따라해보면서 감을 익히려고 노력했다.
- 결과!
State와 마찬가지로 Props역시 event handler와 함께 사용할수있었다.
// Parent.js
import React, { useState } from 'react';
import Child from '../pages/Child/Child';
function Parent() {
const [color, setColor] = useState('red');
return (
<div>
<h1>Parent Component</h1>
<Child titleColor={color} changeColor={() => setColor('blue')} />
</div>
);
export default Parent;
Child의 titleColor와 파란색으로 바꿔줘라고 주문하고있는 함수 changeColor를 props를 통해서 전달하고있다.
// Child.js
import React from 'react';
function Child(props) {
return (
<div>
<h1 style={{color : props.titleColor}}>Child Component</h1>
<button onClick={props.changeColor}>Click</button>
</div>
);
}
export default Child;
- result!