[TIL] 2023-02-16

Deong_gu·2023년 2월 16일
0

TIL (TODAY I LEARN)

목록 보기
46/62
post-custom-banner
  • 리덕스redux에 대한 기본 개념과 흐름을 공부했고, 시계와 카운터, 사용자 정보 변경, 사용자 카드 등의 예제를 통해 리듀서에 대해서 공부 및 연습함

    • combineReducers() - 여러 리듀서를 통합하여 새로운 리듀서를 만들어줌

      import {combineReducers} from 'redux';
      
      export const rootReducer = combineReducer({});
      

    • 리듀서는 순수 함수여야 한다

      리덕스는 리덕스 저장소에 저장된 과거 상태와 리듀서 함수가 반환하는 현재 상태를 if(과거 상태) !== 현재 상태) 방식으로 비교합니다. 이런 형태의 비교가 가능하려면 리듀서 함수 내부에서 현재 상태는 과거 상태를 깊은 복사해야 하며, 이때문에 리덕스의 리듀서는 반드시 순수 함수여야 합니다.

      - 함수 몸통에서 입력 매개변수의 값을 변경하지 않는다.
      - 함수는 함수 몸통에서 만들어진 결과를 즉시 반환한다.
      - 함수 내부에 전역 변수나 정적 변수를 사용하지 않는다.
      - 함수가 예외를 발생시키지 않는다.
      - 함수가 콜백 함수 형태로 구현되어 있거나, 함수 몸통에 콜백 함수를 사용하는 코드가 없다.
      - 함수 몸통에 Promise처럼 비동기 방식으로 동작하는 코드가 없다.

profile
큰 것을 작게, 작은 것을 구체적이게, 개발자답게
post-custom-banner

0개의 댓글