문제의 부분
userSlice.ts
에서 reject의 경우 … 타입을 어떻게?
일단
interface UserState {
userInfo: UserInfo;
isAuth: boolean;
isLoading: boolean;
error: any;
}
이렇게 error를 any로 해놓긴 했는데 이게 맞는건가 의문이 든다.
또한 gpt 답변으로는
.addCase(loginUser.rejected, (state, action) => {
state.isLoading = false;
state.error = action.payload as string;
toast.error(action.payload as string);
})
이렇게 as
를 사용하라고 하는데 이게 뭔지 궁금해서 공부해봄
결론)
as
키워드란 요약하자면 '컴파일' 단계에서 타입 검사를 할 때 타입스크립트가 감지하지 못하는 애매한 타입 요소들을 직접 명시해주는 키워드
as
키워드(type assertion)는 오직 컴파일 단계에서만 실행되며 런타임 단계에서는 삭제된 채로 실행
스터디 페이지
room 이 부분 물어봐야됨 채팅 관련된거인듯..?
타입이랑 이런것도