Login => pocketbase 업데이트 => zustand authUserData
컴포넌트 => zustand
일반 컴포넌트기준
1. Zustand authUserData를 체크
2. 데이터가 있다면 => 로그인
3. 데이터가 없다면 => 로그인 안되어 있음.
Zustand AuthUserData
1. 초기에 localStorage를 확인
2. 데이터가 존재하면 상태 업데이트
3. 데이터가 없으면 놔두면됨.
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);
}
},