👾 에러
상태관리를 zustand 로 바꾸는 도중 빨간맛을 보았다.
📁 zustand / 📑 auth.store.ts
임포트도 잘했는데 왜 그럴까 구글링해도 나와같은 오류는 없었다.. 한참 삽질하다가 설마~_~ 타입지정을 안해줘서 그런걸까? 하고 타입을 지정해보았다.
import create from "zustand";
export const useAuthStore = create((set) => ({
email: "",
password: "",
nickname: "",
favorite_artist: [],
is_admin: false,
error: {
password: "",
nickname: "",
},
setEmail: (email) => set({ email }),
setPassword: (password) => set({ password }),
setNickname: (nickname) => set({ nickname }),
setFavoriteArtists: (artists) => set({ favorite_artist: artists }),
setIsAdmin: (is_admin) => set({ is_admin }),
setError: (error) =>
set((state) => ({ error: { ...state.error, ...error } })),
}));
💡 해결
타입 지정은 안해줘서 생긴 오류인지 정확히는 모르겠지만 타입지정을 해주었더니 오류가 사라졌다.
export type AuthStore = {
email: string;
nickname: string;
password: string;
favorite_artist: string[];
is_admin: boolean;
error: {
password: string;
nickname: string;
};
setEmail: (email: string) => void;
setPassword: (password: string) => void;
setNickname: (nickname: string) => void;
setFavoriteArtists: (favoriteArtists: string[]) => void;
setIsAdmin: (is_admin: boolean) => void;
setError: (error: Partial<AuthStore["error"]>) => void;
};
'Typescript' 카테고리의 다른 글
[타입스크립트] redux-toolkit 사용법(todoList 예시) (0) | 2024.07.01 |
---|---|
[타입스크립트] 바인딩 요소 '?'에 암시적으로 'any' 형식이 있습니다. (0) | 2024.06.27 |
[타입스크립트] 기본타입 훑어보기 (0) | 2024.06.26 |