[상태관리 라이브러리] Redux

2022. 11. 11. 15:56· Library
목차
  1. Redux란?
  2. Redux의 필요성
  3. Redux의 흐름
  4. Redux의 개념
  5. 액션 (Action)
  6. 액션 생성함수 (Action Creator)
  7. 리듀서(Reducer)
  8. 스토어 (Store)
  9. 디스패치 (dispatch)
  10. Redux의 규칙
  11. 하나의 애플리케이션 안에 하나의 스토어
  12. 상태는 읽기전용
  13. 리듀서는 순수 함수
반응형

Redux란?

가장 사용률이 높은 상태관리 라이브러리
Javascript application들의 state를 관리하는 방법
  • Angular, Vue.js, Vanila Javascript에서도 사용 가능
  • 컴포넌트끼리 state를 공유 시 여러 컴포넌트를 거치지 않고 쉽게 state 전달 가능
  • 미들웨어라는 기능을 통해 비동기 작업, 로깅 등 확장적인 작업들 쉽게 가능

 

 

Redux의 필요성

  • 전역 상태 관리를 위한 라이브러리
  • 컴포넌트 간 데이터(state, props)를 좀 더 편하게 전달하고자 사용
  • 바깥에서 상태관리가 가능

 

 

Redux의 흐름

 

 

Redux의 개념

액션 (Action)

  • 상태 변화가 필요할 때, 액션 발생
  • 하나의 객체로 표현
  • 액션 객체는 type 필드가 필수
  • 추가적으로 필요한 요소는 필수적X
{
  type: "ADD",
  data: {
    id: 0,
    text: "Redux"
  }
}

 

 

액션 생성함수 (Action Creator)

  • 액션을 만드는 함수
  • 파라미터 입력 받아 액션 객체 형태 생성
//data 파라미터를 입력받아, 액션을 객체 형태로 반환하는 함수

function addTodo(data) {
  return {
    type: "ADD",
    data
  };
}

const addTodo = data => ({ 
  type: "ADD",
  data
});

 

 

리듀서(Reducer)

  • 변화를 일으키는 함수
  • 현재의 상태, 전달 받은 액션이 파라미터
  • 로직에 의해 변화된 상태 값 리턴
function reducer(state, action) {
  ...
  return alteredState;
}

 

 

스토어 (Store)

  • 컴포넌트 외부에 있는 상태 저장소
  • 스토어 안에 현재 상태, 리듀서, 내장 함수를 포함

 

 

디스패치 (dispatch)

  • 스토어의 내장함수
  • 액션 발생시키는 역할
  • 스토어에게 상태 변화 필요하다는 것을 알림

 

 

Redux의 규칙

하나의 애플리케이션 안에 하나의 스토어

  • 하나의 애플리케이션에는 하나의 스토어를 사용하는 것을 권장

상태는 읽기전용

  • 기존 상태를 수정하지 않고, 새로운 상태 생성하여 업데이트

리듀서는 순수 함수

  • 순수 함수 = 동일한 입력을 받았을 때 언제나 동일한 출력을 내는 함수
  • 동일 인풋에 대한 동일 아웃풋 보장
반응형
저작자표시 비영리 변경금지 (새창열림)

'Library' 카테고리의 다른 글

React Chart Library 리서치  (2) 2024.06.14
[License] MIT License  (0) 2024.06.11
[UI 컴포넌트 라이브러리] Storybook  (0) 2023.09.21
[WYSIWYG 에디터] Summernote  (0) 2023.09.13
[HTTP 비동기 통신 라이브러리] Axios  (0) 2023.09.10
  1. Redux란?
  2. Redux의 필요성
  3. Redux의 흐름
  4. Redux의 개념
  5. 액션 (Action)
  6. 액션 생성함수 (Action Creator)
  7. 리듀서(Reducer)
  8. 스토어 (Store)
  9. 디스패치 (dispatch)
  10. Redux의 규칙
  11. 하나의 애플리케이션 안에 하나의 스토어
  12. 상태는 읽기전용
  13. 리듀서는 순수 함수
'Library' 카테고리의 다른 글
  • [License] MIT License
  • [UI 컴포넌트 라이브러리] Storybook
  • [WYSIWYG 에디터] Summernote
  • [HTTP 비동기 통신 라이브러리] Axios
쓰링
쓰링
Web Front Developer🐣
반응형
쓰링
부앙단 개발로그
쓰링
전체
오늘
어제
  • 전체보기 (57)
    • Language (25)
      • Typescript (4)
      • Javascript (5)
      • HTML, CSS, SCSS (9)
      • Java (3)
      • PHP (1)
      • Dart (3)
    • Framework (8)
      • React (7)
      • Flutter (0)
    • Library (6)
    • Figma (1)
    • Git (4)
    • DB (3)
    • CS (1)
    • Algorithm (6)
      • Baekjoon (2)
      • SWEA (2)
      • 도서 후기 (2)
    • SSAFY (3)
      • SSAFYcial (1)
      • SSAFY 8기 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 백준 자바
  • 백준 알고리즘 풀이
  • java시작하기
  • SSAFY 비전공
  • SSAFY8기
  • 백준 Java
  • 싸피 웰컴 키트
  • java 처음
  • 싸피8기
  • 싸피 웰컴
  • 백준 브론즈
  • SSAFY 전공
  • 웰컴 키트
  • 싸피 합격
  • 싸피 전공자
  • 싸피8기합격
  • 싸피 합격 후기
  • 백준 java 풀이
  • 처음 java
  • 백준 자바 풀이
  • 초보자를 위한 java
  • java전공자
  • ssafy
  • java초보자
  • 싸피
  • 백준 입출력과 사칙연산
  • SSAFY 합격 후기
  • 백준 알고리즘 공부
  • 웰컴키트
  • SSAFY 웰컴키트

최근 댓글

최근 글

hELLO
쓰링
[상태관리 라이브러리] Redux
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.