리덕스의 단점

김형민·2021년 5월 30일
0

1. Redux는 개발자의 행위를 제약할 수도 있다

리덕스는 일반적인 라이브러리나 프레임워크가 아닙니다. 리덕스만의 설계 철학과 함께, 철학을 쉽게 따를 수 있도록 각종 도구를 지원해주는 개발 도구입니다. 설계 철학을 따르는 건 그냥 라이브러리를 사용하는 것과는 완전히 다른 문제입니다. 개발자가 그 설계 철학에서 요구하는 대로 코딩의 방식을 바꾸어야 합니다. 실제로는 상태가 읽기 전용이 아니더라도 읽기 전용인 것처럽

취급해야 하며, 상태를 변경할 때(리듀서를 사용할 때) 부수 효과가 없도록 잘 만들어야만 합니다.

리덕스를 사용함으로 인해 강력한 장점을 얻는 것은 사실입니다. 그러나 리덕스의 철학에서 강제하는 방식으로 인하여 오히려 코드가 복잡해지거나 코딩하기 어려워질 수도 있습니다. 만약 앞서 언급한 Redux의 장점 중 일부만이 필요하다면 Redux 대신 다른 것을 찾아보시기 바랍니다. 다른 것 다 필요 없고 상태 관리를 중앙화하는 것만 있어도 된다면 Context를 사용해봐라!

2. 코드가 길어진다

리덕스의 단점으로 action을 미리 만들어 놓아야 하며, 타임머신 기능을 사용하려면 불변성 개념을 지켜야 사용할 수 있기에 매번 state라는 객체를 만들어줘야 합니다.

아주 작은 기능이라도 Redux로 구현하는 순간 몇개의 파일들을 "필수로" 만들어야 한다. 최소한의 코드로 기능을 구현한다는 건 별로 와닿지 않는다.

코드의 간결함을 보완하기 위해서 Redux toolkit에 대해 해봐도 좋을것 같다!

profile
항해 중인 개발자

0개의 댓글