state를 위한 단 하나의 store만 사용한다.
state를 직접 변경하지 않는다.
state를 변경하기 위해서는 action을 dispatch(보내다)하여 상태값을 변경한다.
(action: 어떤 변화가 일어나야 할 지 알려주는 객체)
이 과정에서 받아온 action객체를 처리하는 함수를 Reducer라고 부른다. action의 정보를 받고 애플리케이션의 상태를 어떻게 바꿀지 정의한다.
Reducer는 '순수 함수'로만 작성되어야 한다.
- 외부 네트워크 혹은 데이터베이스에 접근하지 않아야 한다.
- return값은 오직 parameter값에만 의존되어야 한다.
- 인수는 변경되지 않아야 한다.
- 같은 인수로 실행된 함수는 언제나 같은 결과를 반환해야 한다.
- 순수하지 않은 API호출을 하지 않아야 한다.(Date, Math 등)
ex) 순수함수가 아닌 예
let a = 10;
const add = (b) => {
return a + b;
}
State나 Action을 변경하지 않아야 한다.
'Frontend > 리액트 React' 카테고리의 다른 글
[리액트] 함수형 컴포넌트에서 ref를 사용할 때에는 useRef라는 Hook함수를 사용. / 클래스형 컴포넌트에서는 콜백함수 of React.createRef라는 함수를 사용. (0) | 2020.11.10 |
---|---|
connect API (0) | 2020.10.23 |
config.txt (0) | 2020.10.22 |
웹팩 Webpack (0) | 2020.10.19 |
Node.js 설치하기 (0) | 2020.10.16 |