티스토리 뷰

Redux state(전역 state)

: 수 많은 state를 관리하기 위해 탄생. store로 접근 가능

 

Local/Redux state 데이터 사용 주기에 따라 사용 권장

꼭 아래처럼 사용하라는 것은 아님. 개인이 판단하여 사용

Short-term

: 프로젝트 전역적으로 영향을 주지 않는 데이터. 빠르게 변화하는 데이터

ex) UL element, form 입력 정보 상태 변화, 텍스트 필드 문자 등

-> Local state

 

Medium-term

: 프로젝트에 전역적으로 영향을 주는 데이터

앱 실행 동안 유지되거나 API 통해서 로드된 데이터, 새로고침 전까지 유지되어야 하는 데이터

ex) 전역으로 사용되는 유저 정보, submit 양식을 제출하여 사용자 정보를 업데이트하는 경우

-> Redux store(state) 

 

Long-term

: 여러 페이지간 방문, 새로고침 동안 유지되는 데이터

-> 서버 데이터 베이스 혹은 브라우저 localStorage

 

 

useEffect(Effect Hook)

이를 이용하여 side effects 수행

useEffect는 effect 함수를 기억했다가 DOM 업데이트를 수행한 후 불러옴(렌더링 이후 발생)

렌더링마다 다른 함수가 전달됨

=> prop이 변할 경우를 대비

 

컴포넌트 안에서 불러내는 이유

: effect함수가 state 변수에 접근하기 위해서

 

side effects

: 정리가 필요한 것과 그렇지 않은 것으로 나뉨

정리가 필요하지 않은 side Effects

=> 반환값 없음

- 네트워크 리퀘스트(데이터 가져오기)

- 명령형(imperative) API 불러내기

- document.title(브라우저 API) 수정

- React 컴포넌트 DOM 수동 조작

- 로깅

 

정리가 필요한 Effects(clean-up)

=> 정리를 위한 함수 반환

- 외부 데이터에 구독 설정하기

 

 

Real DOM vs Virtual DOM

Real DOM Virtual DOM
DOM 조작 비용이 큼 DOM 조작이 쉬움
메모리 낭비가 많음 메모리 낭비 없음
업데이트 속도 느림 업데이트 빠름
HTML 직접 업데이트 HTML 직접 업데이트 할 수 없음
요소 업데이트 -> 새 DOM 생성 요소 업데이트 -> JSX 업데이트
특정 Node를 지정 가능(querySelector) 초당 약 200,000개의 가상 DOM 노드 생성 가능
애플리케이션의 UI를 나타냄 가상의 DOM

 

 

 

 

22.11.30

코스 S2U6

'코드스테이츠(SEB_FE_42)' 카테고리의 다른 글

[HTTP, 네트워크] REST API  (1) 2022.12.02
[HTTP, 네트워크] 통신  (0) 2022.12.01
[React] state, prop  (0) 2022.11.28
[React] SPA(Single Page Application) 만들기  (0) 2022.11.28
[JS] React Intro  (0) 2022.11.25
댓글
공지사항