본문 바로가기

프로그래밍/frontend.

이제는 Redux를 놓아 주자.

Redux는 javascript 앱을 위한 상태관리 라이브러리 입니다.

React앱에서 상태관리 라이브러리로 Redux를 사용하고 있다면, 이제는 다른 옵션을 고려해야 할 때가 왔습니다.

 

1. 보일러 플레이트 코드가 너무 많습니다.

 Redux를 사용하려면, actions, reducer, saga등 너무나 많은 보일러 플레이트 코드가 필요합니다.

 보일러 플레이트 코드가 많다는 것은, 개발자의 생산성 저하 및 잦은 실수를 유발합니다. 이는 엄청난 단점입니다.

 

2. 서버에서 받아오는 상태와 클라이언트의 전역 상태는 다르게 관리 해야 합니다.

 서버에서 받아오는 상태와 클라언트의 전역 상태는 그 성질이 다릅니다.

 예를 들면, 서버에서 받아오는 상태는 주기적인 업데이트, 캐싱등의 기능을 필요로 하는 반면, 클라이언트의 상태 관리는 그러한 기능이 필요하지 않습니다. 

 

3. 더 가볍고 편한 라이브러들이 많이 등장 했습니다.

 많은 종류의 서버사이드 상태 관리 라이브러리들은 로딩 상태 관리, 캐싱, 리패칭 등의 기능을 기본적으로 제공합니다. 리덕스를 사용하면서 겪는 로딩 상태관리의 어려움을 더는 격을 필요가 없습니다.

 

서버 사이드 상태관리 라이브러리들 VS REDUX 

클라이언트 사이드 상태관리 라이브러들 vs REDUX

 

위 두가지 표를 보면, 여전히 많은 프로젝트에서 리덕스가 쓰이는 것을 알 수 있습니다.

 

적재적소에 좋은 오픈소스 라이브러리를 사용하는 것도 개발자의 역량이라고 생각합니다. 이제는 리덕스를 놓아주어야 합니다.