ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Redux기초]리덕스 기초 개념
    React 2023. 4. 13. 22:36

    [강의자료 복습]

    리덕스를 사용하기 앞서 왜 필요하게 되었는지에 대한 이해와 비슷한 역할을 하는 context와 어떤 차이가 있는지를 정리

     

     

    State의 세 가지 정의

    state의 세가지 정의

    State는 크게 세 가지로 정의 될 수 있다.Local stateCross-Component StateApp-Wide State

    1️⃣Local State

    하나의 컴포넌트 내에서 영향을 미치는 상태

    2️⃣Cross-Component State

    다수의 컴포넌트에 영향을 미치는 상태. props를 이용해서 컴포넌트들 간의 상태를 관리 할 수 있다.

    3️⃣App-wide State

    애플리케이션 모든 컴포넌트에 영향을 미치는 상태. 로그인 정보나 테마 등이 있을 수 있다.

     

     

    Context VS Redux

    크로스-컴포넌트 상태앱-와이드 상태에서 props로만 업데이트 하는것은 번거로운 작업일 수 있다.

    이럴땐 상태관리 라이브러리의 도움을 받을 수 있다.

    여기서 전역상태를 관리하는 context를 사용해도 문제 없다.

    그렇게 되면 Redux같은 상태관리 라이브러리가 존재하는 이유가 없을 것이다. 

    Context를 사용했을때 생기는 두 가지 잠재적인 단점이 있다. 

     

    1️⃣복잡한 상태관리

    Context를 사용하면 상태 관리가 복잡해진다. 소형,중형 어플리케이션에서는대부분 문제가 될 가능성이 적다.

    하지만 대형 어플리케이션에 리액트 컨텍스트를 사용하면 중첩된 컨텍스트가 나올 수 밖에 없게된다.

    2️⃣성능 문제

    테마,인증 같은 저빈도 업데이트에는 context가 적합할 수 있지만, 데이터가 빈번히 변경되는 경우 성능에 있어 적합하지 않다.

     

     

    Redux의 기본 동작

    상태 관리 라이브러리인 Redux는 복잡한 어플리케이션에서 컴포넌트 간에 상태를 효과적으로 관리 할 수 있다.

     

    • 컴포넌트는 저장소에 있는 데이터를 직접 조작할 수 없다. 리듀서를 이용해서 저장소의 상태를 업데이트 해야한다.
    • dispatch를 통해 Action 객체를 전달한다. Action은 단순한 자바스크립트의 객체다.
    • Action은 리듀서에게 수행해야할 작업을 알려준다. 리듀서에서는 Action에 맞는 동작을 수행하고 업데이트한다.
    • Store를 구독하고있는 컴포넌트는 Store의 상태가 변경되면 알림을 받게되고 UI를 업데이트 한다. 

     

     

     

     
     

    'React' 카테고리의 다른 글

    [Hooks]useEffect  (0) 2023.06.19
    [Redux기초]Redux 사용하기  (0) 2023.04.17
    [리액트 기초]context 사용법  (0) 2023.04.01
    [리액트]portal  (0) 2023.03.31
    [리액트 기초]Fragment  (0) 2023.03.31
Designed by Tistory.