프레임워크/React

[React] state 변경하는 법 (setState는 너무 옛날꺼야!)

은돌1113 2021. 11. 5. 16:54

리액트의 대원칙

: immutable data(직접 수정 하지 말고 복사해서 사용해라)

 

state 데이터 수정 테크닉

수정된[데이터]를 만든다. 근데 state 복사본(deep copy)으로 해서 수정한다.

(그냥 let newArray = 글제목은 값을 복사하는 게 아니라 공유하는 것이다.)

 

deep coppy

: 값 공유 X / 서로 독립적인 값을 가지는 복사

adeep copy(값 복사()

 

Array, Object state 데이터 수정 방법

- 일단 변경 함수를 써야 한다.

- 변경함수(대체할 데이터)

- state는 직접 건드리지 마라(재렌더링이 안될지도 모름)

- deep copy해서 그걸 건드려라

 

Q. 버튼을 누르면 제목들을 글자순 정렬?

1) 일단 기본 state 카피본을 만든다.

2) 카피본 수정사항을 반영한다.

3) 변경함수()에 집어넣기

  function 제목바꾸기(){
      let newArray = [...글제목]
      newArray = ['강남 우동 맛집', '남자 코트 추천', '파이썬 독학']
      글제목변경(newArray)
    }
<button onClick={ ()=>{제목바꾸기()} }>제목 바꾸기 버튼</button>

 

https://www.youtube.com/watch?v=CowLAnmhxMY&list=PLfLgtT94nNq1e6tr4sm2eH6ZZC2jcqGOy&index=6