ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • redux
    Javascript/React 2020. 3. 12. 22:43

    ■redux란? 

    - 복잡하지 않은, 예측 가능한, 중앙 집중적인 상태 저장소




    ■redux 구성 요소

     store

     은행(server)

     action

     입금하는 행위(http call)

     dispatch

     은행 창구 직원(front server)

     reducer

     창구 직원으로부터 전달받은 돈을 계좌에 넣는 직원(api server)

     state

     계좌(db)




    ■redux의 장단점 한눈에 보기

    - redux를 안 썼을 때(컴포넌트가 추가될 때마다 2의 지수로 작업이 늘어남)



    - redux를 썼을 때(컴포넌트가 추가될 때마다 2가지 경우만 추가)





    ■redux(store,reducer) 초기화



    - store를 만들 때, 항상 reducer를 매개변수로 등록해줘야 한다.


    - 그리고 reducer에서 return할 때, Object.assign({},state,{coloer:'red'})을 이용해서,

    복제된 새로운 값이 state로 입력되도록 하자. 이렇게 immutable하게 객체(state)를 

    사용해야 객체 상태에 관련한 의도하지 않은 상황을 예방할 수 있다.

    절대 원본을 수정하지 말고 복제해서 교체하자


    - 배열을 복제할 땐, concat을 사용하면 편리하다




    ■getState

    - store에 저장된 state값을 가져올 수 있는 함수.

    가져온 state값을 render로 보내면 화면에 state값이 출력됨.


    - subscribe를 사용하면 매번 getState를 하지 않고도 자동으로 render시킬 수 있다.


    - store.getState 를 사용하여 state값을 가져올 수도 있지만 지양하자!

    (코드가 지저분해지기도 하고, 자동으로 갱신되면 편하니) subscribe를 이용하자




    ■redux dev tool



    - 마치 은행 창구 접수 내역같은 느낌 혹은 버전관리. 접수 내역을 다운받을 수도 있고 

    업로드해서 화면으로 볼 수도 있다...ㅎㄷㄷ




    ■redux reducer log



    'Javascript > React' 카테고리의 다른 글

    (class 스타일)ShouldComponentUpdate와 PureComponent 그리고 memo  (0) 2020.03.09
    react,redux 유용 플러그인  (0) 2020.03.08
    webpack 사용해서 react 프로젝트 생성하기  (0) 2020.02.29
    React focus  (0) 2020.02.28
    React 입문  (0) 2020.02.27

    댓글

Designed by Tistory.