TIL: useFunnel (@toss/use-funnel)

TIL: useFunnel (@toss/use-funnel)

정말 대충, 굉장히 짧게 요약하면, 그냥 Custom Hook을 만들어 쓴다는 이야기. 그래서 흐름을 제어하는 로직의 응집도를 높이고 이해하기 좋은 코드를 만드는 것.

무엇보다 접근이 좋았다. 퍼널이란 이름에서 알 수 있지만, 흐름이 명확해야 가능한 설계로 보인다. 마지막 직장에서의 서비스는 딱히 적용할만한 곳이 떠오르지 않는데, 그 이전 직장의 서비스나(물론 Vue.js 였지만) 최근 진행했던 회사의 채용 과제에서는 유용한 접근인 것 같다.

요즘은 컴포넌트와 Custom Hook을 조합해서 쓰도록 설계된 코드가 많이 보인다. 한때는 Hook으로 추상화하는 것에만 집중했다면, 이제는 Headless UI처럼 적절히 나누어 작성하고 둘을 세트처럼 사용하는 패턴이 자리를 잡아가는 느낌.