TMI - SSOT 리팩토링

김진주·2024년 2월 24일
0

Login => pocketbase 업데이트 => zustand authUserData

컴포넌트 => zustand

일반 컴포넌트기준
1. Zustand authUserData를 체크
2. 데이터가 있다면 => 로그인
3. 데이터가 없다면 => 로그인 안되어 있음.

Zustand AuthUserData
1. 초기에 localStorage를 확인
2. 데이터가 존재하면 상태 업데이트
3. 데이터가 없으면 놔두면됨.

  • SSOT를 준수하도록 리팩토링

As-is : 유저 정보를 관리하는 과정에서 SSOT가 지켜지지 않아서, 로그인, 유저 정보 수정 등을 통해 유저 정보가 바뀔 경우,
To-be : SSOT를 준수하여 로컬 스토리지에서 관리되던 유저정보 데이터를 zustand state

checkLogIn: () => {
// 컴포넌트가 렌더링 된 후, authUserData가 비어있는지 체크
// localStorage 확인해서 업데이트
try {
const { model, token } = getData('pocketbase_auth');

  if (model) {
    set({ isAuth: true, user: model, token: token });
  }
} catch (error) {
  console.log(error);
}

},

profile
진주링딩동🎵

0개의 댓글