state
: 컴포넌트의 사용 중 컴포넌트 내부에서 변할 수 있는 값(상태의 변화)
useState
: React
의 state
를 다루는 함수
const [state 저장 변수(현재 state 변수), state 갱신 함수(현재 state 변수를 갱신하는 함수)]
= useState(상태 초기 값);
useState
를 호출하면 배열을 반환하는데 배열 구조 분해 문법으로 첫 번째 요소를 현재 state 변수로 두 번쨰 요소는 첫번째 요소 변수를 갱신해주는 함수로 할당해준다.
props
: 외부(상위 컴포넌트)로부터 전달받은 값 / 해당 컴포넌트의 속성 / 함부로 변경할 수 없는 읽기 전용(read-only
) 객체 형태 / React
의 단방향, 하향식 데이터 흐름 원칙
하위 컴포넌트에 전달하고자 하는 값(data)과 속성을 정의한다.
props
를 이용하여 정의된 값과 속성을 전달한다.
전달받은 props
를 렌더링한다.
<Component attribute={value}/> // key={key's value}
=> {attribute:value}
=> props.attribute
<Component>자식 요소 전달</Component>
=> props.children
<button onClick={handleClikEvent}>clickBtn</button>
React
에서 이벤트는 소문자 대신 카멜 케이스(camelCase)를 사용JSX
를 사용하여 문자열이 아닌 함수로 이벤트 처리 함수(Event handler)를 전달React
에서는 변경될 수 있는 입력값(input
, textarea
, select
)을 일반적으로 컴포넌트의 state
로 관리하고 업데이트 => onChange
React
가 state
를 통제할 수 있는 컴포넌트를 Controlled Component
props
를 이용해 데이터를 마치 인자(arguments
) 혹은 속성(attributes
)처럼 전달받을 수 있다.top-down
)임을 의미 => 단방향 데이터 흐름(one-way data flow
)React
에서 데이터를 다룰 때에는 컴포넌트들간의 상호 관계와 데이터의 역할, 데이터의 흐름을 고려하여 위치를 설정