React 코딩 #08 - 리액트 상태 (React State)

in 코딩 카페4 years ago (edited)

안녕하세요,

이번 강의에서는 리액트 상태(state)에 대해서 알아보겠습니다.

  • 리액트 컴포넌트는 내장 state 객체를 갖고 있습니다.
  • state 객체는 컴포넌트에 속한 속성 값들을 저장하는 곳입니다.
  • state 객체가 변경되면 해당 컴포넌트는 다시 렌더링됩니다.

1. state 객체 생성하기

state 객체는 생성자(constructor) 안에서 초기화됩니다:

image.png

state 객체에는 원하는 만큼 속성을 포함할 수 있습니다:

image.png

2. state 객체 사용하기

state 객체는 this.state.propertyname 구문을 사용해 컴포넌트 내 어디에서나 참조할 수 있습니다:

image.png

3. state 객체 변경하기

state 객체의 값을 변경하기 위해서는 this.setState() 메소드를 사용합니다.

컴포넌트의 상태 값이 변경되면 컴포넌트는 브라우저 상에 리-렌더링(re-rendering) 됩니다. 다시 말해, state 객체 안의 값이 변경되면 해당 컴포넌트는 변경된 값을 화면에 표시합니다.

아래는 버튼의 onclick 이벤트에 반응하여 statecolor 속성을 변경하는 예입니다: (이미지를 클릭하여 직접 속성 값을 바꿔보세요)

image.png

💡상태 객체(state object)를 변경할 때에는 직접 값을 바꾸지 않고 setState() 메소드를 사용합니다. setState() 메소드는 컴포넌트가 변경을 감지하고 render() 메소드(컴포넌트 lifecycle 과 관련된 다른 메소드들 포함)를 호출하여 화면에 리-렌더링할 수 있게 합니다.

Exercise:

❓아래는 위 코드에 스타일을 적용한 것입니다. state 객체에 색상과 관련한 속성(예: colorName)을 추가한 뒤 버튼을 누르면 글자 색이 빨간색(red)으로 바뀌도록 구현해보세요.

image.png

이상으로 '리액트 상태' 강의를 마칩니다. 다음 시간에는 리액트 컴포넌트의 수명주기(lifecycle)에 대해 알아보도록 하겠습니다.

Coin Marketplace

STEEM 0.20
TRX 0.13
JST 0.030
BTC 67435.35
ETH 3528.53
USDT 1.00
SBD 2.68