-
React관련 싹 훑기(5) - you might not need redux, normalizrWeb Dev/3. React 관련 2021. 5. 25. 21:43728x90
Redux를 보다가 찾은 내용 간략하게 메모
Dan Abramov의 "you might not need redux"https://medium.com/@dan_abramov/you-might-not-need-redux-be46360cf367
위글을 간략하게 요약을 해보았다.
redux는 아래의 세가지를 하도록 강제한다.
- 앱의 상태를 plain object, arrays로 표현한다
- 앱의 변화를 plain object로 표현하게 한다
- 앱의 변화를 처리하는 방법을 pure functions으로 처리하도록 로직을 만들게 한다.
이 세가지는 react앱이든 뭐든 만들때 필수적으로 필요한 요소는 아니다. 사실은 이건 아주 강력한 제약이라, redux를 도입하기 전에 앱에 이게 진짜 필요한지 좀 고민을 해야한다.
여기서 이제 Dan Abramov 님께서 생각했을때 redux를 사용해서 위의 제약사항을 따를만한 이유가 있는 경우를 설명해주셨다.
- 상태를 로컬스토리지에서 관리할때
- 상태를 서버에서 채우고, 클라이언트에 보내서 거기서 시작하도록할때
- 버그리포트를 하기 위해서 유저의 액션을 시리얼라이즈하는 용도, 이렇게해서 버그를 재현할때
.... 등등
이런 경우가 아니고 react를 학습하는 경우라면 redux를 도입하는것보다는 react처럼 생각하는 연습을 하는것이 더욱 중요하다고 조언해주는 글이다.
그리고 추가적으로 강조하는건, local의 state도 정말 괜찮다는 내용이다.
Normalizr
https://jbee.io/react/react-redux-normalize/
https://simsimjae.tistory.com/471
이건 데이터의 형태를 바꾸어서 re-rendering이 많이 되지않도록하는건데, 필요한 경우에 사용하게 될 것 같다.
'Web Dev > 3. React 관련' 카테고리의 다른 글
React 관련 싹훑기(7) - Redux 앱 구상 및 간단한 상태설계 (0) 2021.05.26 React관련 싹 훑기(6) - react-redux hooks 부분 문서 읽고 실습 (0) 2021.05.26 React관련 싹 훑기(4) - Redux Subscriber는 어떻게 동작하는가 (0) 2021.05.25 Next.js Link컴포넌트에 className 적용하기 (0) 2021.05.23 React관련 싹 훑기(3) - Redux 의 개념 (0) 2021.05.21