리덕스란?

Column 1
Tags
redux
Column
Flux 아키텍처를 구현한 여러 라이브러리들 중 하나
 

참고링크 :

1) 개요

리덕스란?

  • 페이스북에서 Flux 아키텍처와 구현체를 발표했으나, 디스패처만 구현되어 있어 완전하지 않았음.
  • 이 시기에 많은 Flux 구현체들이 생겨났고, Redux는 이 중 널리 사용되는 것 중 하나.
  • 결론은 리액트에서 사용하려고 만든 상태 관리 라이브러리들 중 하나.
  • 리액트에 의존하진 않으므로, 자바스크립트에서도 리덕스 사용 가능

사용이유

  • 컴포넌트의 상하관계가 깊어질수록, 상태관리 시 코드가 한눈에 안들어와 흐름 파악과 수정이 힘듦.
    • 따라서 코드 복잡도를 낮춰서 얻을 수 있는 이점을 챙기기 위해 리덕스를 사용함.

핵심

  • 중앙집중형으로 한곳에서 상태를 관리함.
    • 데이터 관리가 쉬워짐
  • 외부로부터 데이터를 차단하고, 인과된 함수로만 접근 가능.
    • 디스패쳐, 리듀서
    • 의도치 않은, 예기치 않은 상태 변경 방지

2) 흐름

상태 변경

  1. 디스패쳐를 통해서 하고싶은 행위를 명시함
  1. 리듀서에서 이를 받아서 적절히 처리하여 리덕스의 상태를 변경시킴

상태 읽기

  1. 셀렉터를 통해서만 리덕스 상태를 읽을 수 있음.
 
notion image
출처 : 생활코딩