TIL - Today I Learned (Day 15) - 리덕스를 사용하는 이유
2022. 7. 25. 19:42
- 오전에는 CS스터디 발표가 있어서 PPT 발표 정리를 했다.
- 오후에는 리액트 관련해서 아직 모르는 개념이 많아서 유튜브 강의를 들으면서 정리했다.
- 리액트를 공부하면서 리덕스 관련한 내용이 많아서 리덕스를 쓰는 이유에 대해 강의를 찾아봤다.
- 기본적으로 JavaScript Application들의 state(상태)를 관리하는 방법이다.
- React와 별개다 / 그저 React와 많이 사용해서 유명해진 것.
- React에 의존하는 라이브러리가 아님
리덕스를 사용하는 이유
- 모든 component가 props 없이 state 직접 꺼내서 쓸 수 있다.
- state(상태관리)가 용이하다.
리덕스는 library
배경 component에 지정한 변수는 메뉴 component에서 바로 사용할 수 없어서 props문법을 넣어야한다 … 하위 component로 바로 사용하지 못한다.
- 리덕스라는 library 를 이용하면 모든 component에서 갖다 쓸 수 있다.
- 코드가 전체적으로 짧아지는 효과를 볼 수 있다.
- store.js에 조건문이나 요청에 관련된 코드를 짜놓으면 각각의 component는 store.js 에다가 요청만 하면 된다.
- 버그가 발생했을 때 추적이 쉽다.
- 버그가 발생했을 때 어떤 component에 오류가 발생했는지 추적할 필요없이 store.js에 모아뒀으니 해당 js에서만 찾아보면 된다.
- state가 어떻게 변경되었는지 한 곳에서 추적이 가능하다.
function reducer(state = 체중, action) {
if (action.type === '증가') {
state++;
return state
} else if (action.type === '감소') {
state--;
return state
} else {
return state
}
}
(state 수정방법)
증가 요청하면 몸무게 +1
감소 요청하면 몸무게 -1
→ Reducer
컴포넌트에서 state 수정 요청하려면?
dispatch 사용.
function App() {
const dispatch = useDispatch()
return (
<div className="App">
<button onClick={() => {dispatch({type: '증가'})}}>더하기
</button>
</div>
);
}
리덕스를 사용하는 이유 (정리)
- 모든 component가 props 없이 state 직접 꺼내서 쓸 수 있다.
- state(상태관리)가 용이하다.
리덕스 스토어에 조건문이나 요청에 관련된 코드를 짜놓으면 각각의 component는 리덕스 스토어에 요청만 하면 된다. 버그가 발생했을 때 추적이 쉽고 component에 오류가 발생하면 어떤 component에서 발생된 오류인지 각각의 component를 추적할 필요없이 리덕스 스토어에서 오류를 확인하면 된다.
💡 즉, 리덕스를 사용하면 component의 상태 업데이트 관련 로직을 다른 파일로 분리시켜서 효율적으로 관리할 수 있다.
Reference
'TIL - Today I Learned' 카테고리의 다른 글
TIL - Today I Learned (Day 17) - My Todo List (0) | 2022.07.27 |
---|---|
TIL - Today I Learned (Day 16) - SetTodos 에러찾기 (0) | 2022.07.26 |
TIL - Today I Learned (Day 14) - 리덕스 (0) | 2022.07.23 |
TIL - Today I Learned (Day 13) - 유사배열과 배열의 차이 (0) | 2022.07.23 |
TIL - Today I learned (Day 12) - 호이스팅과 TDZ는 무엇일까? (0) | 2022.07.22 |