리덕스의 3가지 규칙

BackEnd_Ash.log·2020년 6월 21일
0
코드를 입력하세요
```패스트캠퍼스 강의보면서 정리했습니다.

# 1. 하나의 애플리케이션엔 하나의 스토어가 있습니다.

스토어를 한개이상 만들게 되면 안된다.
여러개의 스토어를 만드는것은 가능하지만 권장하는 사항은 아니다 .

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

즉 불변성을 지켜줘야한다.
그래야 component 들이 제대로 rendering 이 됩니다.

# 3. 변화를 일으키는 함수 리듀서는 순수한 함수여야 합니다.

리듀서 함수는 이전상태와 , 액션 객체를 파라미터로 받습니다.
이전 의 상태는 절대로 변경하지 않고 , 변화를 일으킨 새로운 상태 객체를 만들어서 반환합니다.
`똑같은 파라미터`로 호출된 리듀서 함수는 `언제나 똑같은 결과값`을 반환해야만 합니다.

동일한 인풋에는 동일한 아웃풋이나타나야 합니다.

예를들어서 

```javascript
new Date()
Math.random()
axios.get()

이런 함수를 사용하면 안된다.
new Date() , Math.random() 처럼 호출할때마다 다른 값이 나오게 되면 안되고 ,
axios.get() 처럼 네트워크를 요청해도 안된다.

이럴 경우 해당 component 에서 작업을 하거나
미들웨어에서 처리를 해줘야합니다.

profile
꾸준함이란 ... ?

0개의 댓글