TIL 6/19 useState set

2023. 6. 20. 09:20Dev/TIL WIL

useState를 사용하면서 set함수를 각 컴포넌트에 전달하는 식으로 구조를 짰다.

 

하지만 이런 구조에서 문제점은 state변경이 각 컴포넌트에서 모두 가능하기 때문에 에러가 발생했을 때 어디서 발생했는지 찾기가 어렵다.

 

그랬기에 State변경 함수를 만들어 각 컴포넌트로 전달하는 구조로 리팩토링했다.

 

그런데 함수내에서 set을 이용해 state를 변경하고 그 state를 localStrorage에 저장하는데 빈 값이 저장되는 문제가 발생했다.

 

setState의 작동 방식을 알고나서 해결할 수 있었다.

 

setState함수는 비동기 방식으로 작동하며 함수 내에서 작동시 리턴되는 값을 기존 값과 비교해 변경사항이 있을 시 렌더링 시키는 방식이었다.(배치 업데이트)

 

그래서 localStorage에는 아직 변경되지 않은 state(빈 배열)이 저장됐었다.

 

그래서 localStorage에 기존 State와 더불어 새로 들어오는 값이 저장된 객체를 같이 넣어줬다.

 

 

 

 

'Dev > TIL WIL' 카테고리의 다른 글

TIL 6/19 useEffect return  (0) 2023.07.04
6월 4주차 WIL  (0) 2023.06.25
6월 3주차 WIL  (0) 2023.06.18
TIL 6/15 Git flow  (0) 2023.06.16
TIL 6/12  (0) 2023.06.13