[TIL - Redux 입문]

..·2023년 4월 19일
0

TIL

목록 보기
12/22
post-thumbnail

내가 이해한 redux

redux라는게 있는데 이 redux를 쓰는 이유는 크게 두가지가 있다. 하나는 props drilling을 방지하는 거고 하나는 상태 관리를 하기에 용이하기 떄문이다.

컴포넌트 간에 데이터를 전달할 때 데이터를 중간 컴포넌트를 거치는 과정을 계속 겪게 되면 복잡해지고 유지보수가 어려워지는 props drilling이라는 게 일어나는데 Redux를 이용하면 전역상태를 사용하기 때문에 drilling없이 컴포넌트 간 데이터를 전달할 수 있다.

그리고 상태 관리에 용이하다는 것은 Redux가 상태를 중앙에서 관리하고 액션을 디스패치해서 상태를 변경하는 방식으로 동작하기 때문이다. 오류가 발생해도 유지 보수가 쉽고 가독성도 높아진다.

Redux에는 useSelector과 useDispatch가 있는데 useSelector는 props drilling과 연관되어있고 useDispatch는 상태 관리와 연관되어 있다고 나 스스로는 그렇게 정리를 했다.

useSelector은 컴포넌트 내부에서 리덕스 상태를 조회하는 거고 useDispatch는 리덕스 액션을 디스패치, 즉 상태를 바꿀 때 사용되니까!

내가 src 폴더 안에 modules폴더 그리고 Config 폴더를 만들었다면, modules에는 필요한 파일을 하나씩 만들어서 reducer 코드를 작성할거고, 그 reducer들을 모아서 관리하는 store파일을 config폴더 안에 만드는 식으로 진행할 것이다. combineReducers 함수를 사용해서 store파일에 하나의 리듀서로 합치는 것이다.

리듀서에 대한 이해는 이런 식으로 했는데,
리덕스에서 초기 상태(initial state)를 선언하고 이 값이 변경이 필요할 때 reducer로 액션을 만들어서 정해준다고 생각했다.

0개의 댓글