• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

회원가입 중복관련 질문있습니다.

24.01.28 20:10 작성 조회수 83

0

회원가입을 성공시키고 나서 다시들어가면 라우팅이 메인화면에 가져서 회원가입을 하면 signUpDone이 true가 되었다가 false로 변경시켯는데 여기서 같은 아이디로 가입을 하게되면 제로초님이 403에러 뜨게 하신거 처럼 백엔드 작업을 해놓고 같은 아이디로 가입을 햇는데 403에러까지는 정상적으로 나오는데 403에러면 rejected가 실행이 되야 되는거 같은데 fulfilled가 실행이 됩니다. 콘솔 화면에는 정상적으로 에러가 낫다라는게 나오는데도요... 이유를 알수 잇을까 싶습니다.
콘솔에 나오는 것은 아래 이미지구

제 리덕스툴킷 코드는 아래와 같습니다.

import { createAsyncThunk,createSlice } from "@reduxjs/toolkit";
import * as I from "types"
import { authAxios, baseAxios } from "utils/instance";




interface UserInitialState {
 
  // 회원가입
  signUpLoding: boolean;
  signUpDone: boolean;
  signUpError: null | undefined | string;
  resetSignUpDone: boolean;
}
const initialState: UserInitialState = {
  
  // 회원가입
  signUpLoding: false,
  signUpDone: false,
  signUpError: null,
  resetSignUpDone: false,
};

// 회원가입
export const signUp = createAsyncThunk("user/signup", async (data:I.SignUp) => {
  const response = await baseAxios.post("/user", data);
  return response;
});

const UserReducer = createSlice({
  name: "user",
  initialState,
  reducers: {
    resetSignUpDone:(state)=>{
      state.signUpDone = false
    }
  },
  extraReducers: (builder) =>
    builder

      // 회원가입
      .addCase(signUp.pending, (draft) => {
        draft.signUpLoding = true;
        draft.signUpError = null;
        draft.signUpDone = false;
      })
      .addCase(signUp.fulfilled, (draft) => {
        draft.signUpLoding = false;
        draft.signUpDone = true;
      })
      .addCase(signUp.rejected, (draft, action) => {
        draft.signUpLoding = false;
        draft.signUpDone = false;
        draft.signUpError = action.error.message;
      }),
});
export const { resetSignUpDone } = UserReducer.actions;
export default UserReducer

답변 1

답변을 작성해보세요.

0

baseAxios에 혹시 response interceptor같은 거 장착되어있나요?