스프린터스 #9 Redux

HR.lee·2022년 4월 20일
0

스프린터스

목록 보기
9/25
  • 4월 19일(화)
    1. React와 Vue, Angular의 차이점은 무엇인가요?
    2. React에서 JSX 문법이 어떻게 사용되나요?
    3. React의 렌더링 성능 향상을 위해 어떻게 해야 하나요?
    4. Redux가 무엇인지 설명하시고, 왜 사용하셨나요?
    5. 리덕스의 장단점에 대해 설명해보세요
    6. 생명주기 메서드(LifeCycle)에 대해 설명해보세요

리덕스가 무엇인지 설명하기
왜 사용하는지 설명하기
리덕스의 장단점도 여기같이

리덕스는 프론트엔드 상태관리 라이브러리이다.
상태관리는 상태를 영어로 직역하면 state이다
즉, 리액트에서 사용하는 state를 관리하는 라이브러리이다.
하지만 리액트 뿐만 아니라 순수한 자바스크립트에서도 사용할 수 있다는 점을 유의하자. 리덕스는 리액트 말고 다른 곳에서도 사용할 수 있다.

리덕스를 사용하는 이유
https://kyun2da.dev/%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC/Redux-%EC%A0%95%EB%A6%AC/

리덕스는 언제 쓰는게 좋을까?
그렇다면 리덕스는 언제 쓰는게 좋을까? 이 질문에 대한 답은 리덕스의 공식문서에 나와있다.

앱의 여러 위치에서 필요한 많은 양의 상태들이 존재할 때 (전역 상태가 필요하다고 느껴질 때)
상태들이 자주 업데이트 될 때
상태를 업데이트 하는 로직이 복잡할 때
앱이 중간 또는 큰 사이즈의 코드를 갖고 있고 많은 사람들에 의해 코드가 관리될 때
상태가 업데이트되는 시점을 관찰할 필요가 있을 때
더 알아볼 것
리덕스 비동기를 지원하는 Redux Thunk 와 Redux Saga 그리고 다양한 미들웨어들이 존재한다.

마지막으로, 사실 이 글을 쓰게 된 이유이기도 한데 리덕스 진영에 리덕스 툴킷이 나오면서, 코드들이 많이 간소화 되었고 생산성도 향상되게 되었다. 다음 글에서는 이 리덕스 툴킷 사용법에 대해서 파헤쳐 볼까 한다.

Reudx-Toolkit 장점
내가 느낌 Redux-Toolkit의 장점은 두 가지가 있다.

Reudx의 단점으로 꼽히는 보일러플레이트 코드가 줄어든 다는 것이다.
보일러플레이트 코드가 많으면 코드의 예측가능성 측면에서 떨어지고 코드해석이 어려워져, 실수를 유발 시킬 수 있다.

패키지 의존성을 줄여준다.
리덕스를 사용하다보면, redux devtool, immer, reselect등 여러가지 라이브러리들을 설치하게 된다. 하지만 Redux-Toolkit에는 이런 많은 라이브러리 들이 내장되어 있어서 많은 라이브러리들의 의존성을 줄일 수 있다.
라이브러리는 개발이 편하고 일정을 줄일 수 있다는 장점이 있지만, 필요이상의 컴퓨팅 자원을 소모할 수 있기 때문이다.(추가: 의존성 지옥)

추가적으로 createSlice를 통해 기존에 사용하던 ducks pattern을 유지 할 수 있다.

https://velog.io/@404/%EB%A6%AC%EB%8D%95%EC%8A%A4-2.-%EB%A6%AC%EB%8D%95%EC%8A%A4%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0

리ㅇ덕스의장점
단방향
읽기전용
z컨텍스트 api와의 차이점
단점
클라이언트에 뭘많이 저장해서 무거워짐
보일러플레이트가많은
https://www.bangseongbeom.com/redux-benefits-caveats.html

profile
It's an adventure time!

0개의 댓글