-
Redux의 원리와 불변성Node.js/프론트엔드 2021. 5. 14. 01:14
Redux는 JS 어플리케이션에서 state를 관리하는 라이브러리다. 다시 말해서, 어플리케이션의 데이터를 관리하는데 사용한다.
- 어플리케이션의 state는 store라는 객체 트리에 저장된다.
- state는 불변성을 지니고 있다. state 객체와 그것의 프로퍼티를 직접 바꿀 수 없다. 즉 새로운 object를 생성하고, 새로운 상태를 다시 계산한 후 그것을 새로운 object로 업데이트한다.
- reducer는 이전 state와 action을 갖고 있고, 새로운 state를 리턴하는 함수이다.
Actions : Action은 수행해야할 action의 종류를 정의하는 type 필드와 정보나 데이터를 담고 있는 필드들을 가지고 있다. Action Creator는 action을 리턴하는 함수이다.
Reducer : action이 뭘 해야할지를 말해준다면, reducer는 어떻게 해야할지를 말해준다. 즉 action의 타입에 따라 각각 다른 기능을 정의해준다. reducer에서 새로운 객체를 생성하는 이유는 이전 상태와 다른 변화를 Redux가 추적할 수 있게 하기 위해서다.
Store : 애플리케이션의 state를 가지고 있는 object다.
createStore() - store 생성
dispatch(action) - state 변경
getState() - store의 현재의 state를 가져옴.
'Node.js > 프론트엔드' 카테고리의 다른 글
React (0) 2021.12.03 NextJS (0) 2021.11.25 가로 스크롤 만들기 (0) 2021.04.01 [ESLint] eslint.workingDirectories 옵션 (0) 2020.12.27 프론트엔드 개발 환경의 이해 - NPM (0) 2020.12.01