jwt 토큰 방식으로 작동하는 새 인증 로직을 프론트엔드와 연결하는 과정에서 인증 정보를 어떻게 저장해야 하는지에 대한 문제가 생겼다. 현재 상황은
이 과정이 매 요청마다 필요한 것이 비효율적으로 느껴졌다.
원래 React로 구현할 때에는 로그인한 정보를 전역 상태(recoil atom)에 저장해서 라우팅과 렌더링 모두에 사용했는데, SSR로 auth routing을 구현하기 위해서 middleware를 사용했더니, middleware는 react state에 접근할 수 없는 문제가 있었다.
이 비효율을 해결하기 위해 두 가지 방안이 나왔는데,
더 좋은 방법이 없을지 각자 찾아보기로 했다.
위 내용에 대한 회의를 하던 중 Next13의 App directory에 대한 이야기가 나왔다. /pages
디렉토리를 대체할 /app
디렉토리는 상태가 변경되면 해당 상태를 구독하는 컴포넌트만 리렌더링되는 CSR과 비슷한 특징을 가지고 있다. 요약하면 페이지를 레이아웃 단위로 쪼개고, 교체나 리렌더링이 필요한 레이아웃만을 변경하는 식인데 이 것을 사용하면 유저의 public 정보를 가져오기 위해 불필요하게 많은 요청이 발생하는 비효율 문제를 해결할 수 있지 않을까?
하지만 App directory가 현재 실험적(experimental) 기능이라는 점, 그리고 /pages
디렉토리를 통째로 수정하여 변환해야 하는 시간적 비용 문제가 있어 좀 더 신중하게 정해보려고 한다.