Styled-Components
React 프로젝트 2개 진행하면서 Styled-Components를 둘 다 썼지만 좋은 기술스택이라고 생각한다.
CSS in JS, CSS in CSS 둘 다 장단점이 있고, 특히 CSS in CSS를 사용했을 때 마크업 구조를 명확하게 알 수 있고, CSS 전처리기 등을 사용할 수 있어서 장점이 크다고 생각한다.
그럼에도 Styled-Components가 기억에 남는 건 props로 받아온 상태를 기반으로 바로 CSS 속성을 적용시킬 수 있는게 좋아서 기억에 남는다.
프로젝트에 크게 영향을 끼칠 정도는 아니지만, 개발하는 것이 편해졌고, Typescript랑 합쳐지면서 안정성도 높아졌다고 생각한다.
Redux
context, redux, recoil 등 많은 상태관리 라이브러리가 존재한다.
context는 이전 프로젝트에서 경험을 해보았고 recoil은 구현이 쉬워서 언제든지 도입할 수 있을것 같았다.
Redux는 보일러플레이트만으로도 코드량이 많고 구현이 복잡하다는 이야기를 들었지만 기업에서 많이 사용하기 때문에 관심이 생겼고 이번 프로젝트에 도입을 하면서 학습을 해야하는 장치로 동기부여를 갖고 학습을 해보고 싶었다.
하지만 확실히 코드량이 심각하게 많이 증가하고 어떤 장점이 있을까 고민을 많이 했다.
내가 생각하는 redux의 장점은
코드량은 많지만 명확한 코드 패턴이 존재한다. - 리듀서, 액션, 디스패치
이는 어느 누가 코드를 작성하더라도 패턴이 존재하기 때문에 일관성 있는 코드를 작성할 수 있다고 생각이 들었다.
또한 DevTool을 지원하여 상태의 변화를 추적하기 매우 용이했다.
하지만 무엇보다 단점은 코드량이 많아지다보니 능숙하지 않으면 오히려 개발에 해매기 쉽고 코드가 지저분해질 수 있다.