* [1일1글] 다양한 커뮤니티사이트 등에서 본 글을 공유하고 짤막한 저의 생각을 공유합니다.
오늘 단톡방에서 react-hooks와 class에대한 이야기가 나왔길래 얼마전에 읽은 글이 생각나서 공유해본다.
[원문]
medium.com/swlh/the-ugly-side-of-hooks-584f0f8136b6
[번역문]
ui.toast.com/weekly-pick/ko_20200922
🌿
얼마전에 리액트 훅스를 쓰면서 안좋은점(?) 단점을 언급한 글을 보았다.
훅스를 쓰며 단점이라고 생각했던 부분들을 깔끔하게 정리해준 것 같고,
특히 명확한 라이프사이클이 없는 훅스에서의 사이드 이펙트는 전적으로 공감했다. 제대로 쓰지 못하면 사이드이펙트를 야기할 수 있다.
(하지만 이건 반대로 클래스에서도 라이프 사이클에대한 사이드이펙트 문제도 운운되고 있다.)
class를 선호하는 사람들을 존중한다. 어느것이 정답이다. 말하기엔 아직 애매한 경계선상에서 놀고 있지 않나 라는 생각이 든다.
그럼에도 내가 hooks를 사용하는 몇가지 이유가 있다.
🌿
1. 컴포넌트 사이에서 상태와 관련된 로직을 재사용하는게 유리하다.
class에서는 해당로직을 구현하기 위해 HOC의 패턴을 많이 사용했었다. 이는 흔히 말하는 래퍼 지옥을 볼 수 있다. Hook를 사용하면 컴포넌트로 부터 상태 관련 로직을 추상화 할 수 있다. 이것은 독립적인 테스트와 재사용이 가능하다. Hook는 계층 변화 없이 상태 관련 로직을 재 사용할 수 있도록 한다.
2. 코드의 길이
이얘기는 또 다른 이 이야기가 나올 수 있는 부분인데 hooks를 쓰면 코드가 확실히 짧아진다. 생산성을 무시못하는 개발자로써, 이부분도 장점중 하나도 붙어있지 않나 라는 생각이 든다.
또 다른 여러 이유도 있지만, 난 대표적으로 저 두개의 이유때문에 hooks를 선택했다.
🌿
리액트 훅스가 대세래! 하고 쓰는 것도 아주 틀린말은 아니지만, 내가 이 기술을 왜쓰는가는 늘 쓰기전에 쓰면서도,쓰고난 후에도 고민해 보아야 한다고 생각한다. 확실히 훅스가 대세이고 이제 기존 리액트 작업들은 hooks로 마이그레이션 되고 있는 건 사실이다. 하지만 이유가 타당하다면 클래스를 쓰던 훅스를 쓰던 상관없을 것 같다. (물론 팀에서 훅스를 쓰면 같이써야지)
'1일1글' 카테고리의 다른 글
TIL : useCallback()은 내부적으로 useMemo()를 사용한다. (0) | 2022.05.18 |
---|---|
[1일 1글] Git commit message 를 잘 작성하는 법 (0) | 2021.04.07 |
[1일1글] 프론트개발을 시작하는 이들에게 추천하는 방법 (0) | 2021.03.23 |