결정 01
권한은 화면을 숨기는 방식이 아니라 라우트를 나누는 방식으로
- 문제
- 권한별 분기를 컴포넌트 안에서 `if (isAdmin)`으로 처리하면 화면 수가 늘수록 조건문이 흩어집니다. 어떤 권한이 무엇을 볼 수 있는지 한눈에 파악할 수 없게 됩니다.
- 선택
- 권한별 라우트 트리를 따로 정의하고, 접근 가능한 메뉴 목록 자체를 권한에서 파생시켰습니다. 컴포넌트는 자기가 어떤 권한에서 렌더되는지 모릅니다.
- 결과
- '이 권한은 무엇을 볼 수 있는가'가 라우트 정의 파일 하나를 보면 답이 나옵니다. 권한이 추가됐을 때 손댈 곳도 명확했습니다.