목록전체 글 (298)
\(@^0^@)/

Router v6 + 권한 처리 1. 로그인 후 권한에 맞지 않는 route에 접근하게 될 경우 : unauthorized 페이지를 보여줌 2. 로그인 전 다른 route에 접근하게 될 경우 : login 페이지를 보여줌 위의 조건에 부합하는 로직을 작성하였음. 전역 상태를 관리하고 있는 recoil의 useRecoilState을 불러와 auth로 선언 후, const RequireAuth = ({ allowedRoles }) => { const auth = useRecoilState(Auth); const location = useLocation(); }; App컴포넌트에서 User, Manager, Admin에 대해 상수화 선언한다. ROLES에 맞게 권한을 주기 위해서, RequireAuth 컴포넌..

❗ 프로젝트 업그레이드 기존의 todo-list에서 Authorization을 조금 더 적용해보고 싶다는 생각에 서버를 구현할 때 역할을 다양하게 설정하였다. Admin, Manager, User로 각각 역할에 따른 권한을 부여받는 형태. Admin : 모든 사용자 정보 확인 가능 회원가입, 로그인, 모든 글 확인, 변경, 삭제 가능. Manager: User 정보 확인 가능 회원가입, 로그인, user, manager 글 확인 가능. User: 내 정보 확인 가능 회원가입, 로그인, user 글 확인 가능 구현을 할 때마다 계속 디렉터리 구조 수정이 반복된다... 나만 알아볼 수 있는 구조가 아니라 최대한 남들이 봐도 어떤 식으로 돌아가는지 상상할 수 있도록 생각하면서 구현하니까 계속 더 나은 방법이 ..

❗ 쉽지만은 않은 Recoil https://www.npmjs.com/package/recoil-persist 기본의 프로젝트에서 token을 전역 상태로 관리하기 위해서 recoil을 추가하였음. recoil을 사용한 이유는 리덕스를 사용한다면 기존의 코드를 엄청 많이 엎어야 해서 시간이 많이 지연될 거란 생각이 컸고, recoil이 최근에 인기 급상승 중이며, 리덕스보다 훨씬 쉽고 간편하다는 의견들이 많아서 어떤 라이브러리인지 사용해보고 싶어서 recoil로 결정하였다. 확실히 페이스북에서 만든 라이브러리라서 그런지 간결하고 기존의 익숙한 코드로 쉽게 구현할 수 있었지만, 내가 구현했던 디렉터리 구조랑 충돌이 있어서 코드를 적용하는 부분에서 조금 애먹었다ㅠ 하지만 redux를 추가했더라면, 아마 3배..