리액트 - Redux 마지막

이한결·2023년 2월 14일
0

부트 캠프

목록 보기
52/98
post-thumbnail

2월 14일 여정 37일차이다.

오늘은 리덕스에 대해 조금 더 깊이 있게 다루어볼려고 한다.

오늘의 Today I Learned

리덕스를 사용할 때 몇가지 규칙에 대해 보려고 한다.

1. 하나의 Application에는 하나의 스토어가 존재한다.

하나의 어플리케이션에서는 단 한개의 스토어만 만들어서 사용한다. 물론 여러개를 사용하는 것이 가능하다. 그러나 공식문서에서는 권장하지 않고 있다고 한다.

2. 상태는 읽기 전용이다.

리덕스는 기존 상태는 두고, 새로운 상태를 생성하여 업데이트하는 방식을 해야한다. 리덕스에서 불변성을 유지해야 하는 이유는 기본적으로 얕은 비교를 하기 때문이다. 객체의 변화를 감지 할 때 객체의 깊숙한 안쪽까지 비교를 하는 것이 아니라 겉에만 비교를 하기 때문이다.

3. 변화를 일으키는 함수, 리듀서는 순수한 함수이어야 한다.

순수 함수란? 기존의 입력 데이터를 변경하지 않고 외부 상태에 의존하지 않으며 동일한 입력값에 대해 동일한 출력값을 일관되게 제공하는 함수를 '순수 함수'라고 한다.

const add = (a, b) => a + b; //pure function

위의 함수는 a와 b를 변경하지 않고 외부 상태에 의존하지 않으며 항상 동일한 입력값에 대해 동일한 출력값을 리턴한다. 즉 리듀서는 초기 state와 action을 전달 받아 '이전 상태'를 '다음 상태'로 교체 한 후 반환한다. 주어진 상태를 수정하는 것이 아니라, 새로운 상태로 교체! 하는 것이 중요하다. 리듀서는 그렇기에 '순수 함수'이어야 한다.

참고자료
https://react.vlpt.us/redux/02-rules.html
https://parkjaeho.tistory.com/112

마지막으로

리덕스 시리즈는 계속 될 것이다...

profile
평범한 삶을 위하여

0개의 댓글