인프런 커뮤니티 질문&답변

세인트킴님의 프로필 이미지
세인트킴

작성한 질문수

따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]

소스 코드 자료

toastify-css 적용안됨

작성

·

264

0

ReactDOM.createRoot(document.getElementById('root')).render(
  <BrowserRouter>
    <Provider store={store}>
      <PersistGate loading={null} persistor={persistor}>
        <App />
      </PersistGate>
    </Provider>
  </BrowserRouter>,
)

App /에서 실행할 거여서 설정하고,

const userSlice = createSlice({
  name: "user",
  initialState,
  reducers: {},
  extraReducers: (builder) => {
    builder
      .addCase(registerUser.pending, (state) => {
        state.isLoading = true
      })
      .addCase(registerUser.fulfilled, (state) => {
        state.isLoading = false
        toast.info('회원가입을 성공했습니다.')
      })
      .addCase(registerUser.rejected, (state, action) => {
        state.isLoading = false
        state.error = action.payload
        toast.error(action.payload)
      })
  }
})

toast.info, toast.error 등 toast 메세지 정확하게 넣었고,

import { ToastContainer } from "react-toastify"
import "react-toastify/dist/ReactToastify.css"
function Layout() {
  return (
    <div className='flex flex-col justify-between h-screen'>

      <ToastContainer
        position='bottom-right'
        theme='light'
        pauseOnHover
        autoClose={1500}
      />

      <Navbar/>
      <main className='w-10/12 max-w-4xl mx-auto mb-auto'>
        <Outlet/>
      </main>
      <Footer/>
    </div>
  )
}

toastify랑 css를 사용하려고 import했고,

const RegisterPage = () => {
  const { register, handleSubmit, formState: { errors }, reset } = useForm({ mode: 'onChange' })
  const dispatch = useDispatch()
  // const navigate = useNavigate()

  const onSubmit = ({ email, name, password }) => {
    const body = { email, name, password, image: `https://via.placeholder.com/600x400?text=no+user+image` }
    dispatch(registerUser(body))
    reset()
    // navigate('/login')
  }

실행 하니까, db에 데이터는 잘 담기는데, css가 적용이 안됩니다. 그리고, css가 적용되지 않고, 자꾸 login 페이지로 넘어가기만 합니다. 오류를 도저히 못찾겠어요 도와주세요!

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

문제 상황을 보았을 때, react-toastify와 관련된 CSS가 제대로 적용되지 않는 문제와 페이지 이동 문제가 발생하고 있습니다. 여기에 대한 몇 가지 해결 방법을 제시해 드리겠습니다.

  1. CSS 적용 문제

    • react-toastify/dist/ReactToastify.css 임포트가 제대로 되어 있는지 확인해 주세요. 웹팩 또는 해당 프로젝트의 빌드 설정에서 CSS 파일을 처리할 수 있는 로더가 설정되어 있는지 확인이 필요합니다.
    • 만약 위의 설정이 모두 정상적이라면, CSS가 다른 스타일에 의해 덮어씌워지는지 확인해 보세요. 개발자 도구를 통해 실제 페이지에서 적용된 스타일을 확인하실 수 있습니다.
  2. 로그인 페이지로 자동 이동하는 문제

    • navigate('/login') 코드가 주석 처리되어 있음에도 페이지가 이동한다면, 다른 부분에서 페이지 이동을 유발하는 코드가 실행되고 있을 가능성이 있습니다. 예를 들면, 상태 관리 로직에서 로그인 여부를 체크하여 페이지를 이동시키는 부분이 있을 수 있습니다.
    • 현재 코드 내에서는 navigate('/login') 부분이 주석 처리되어 있어 페이지 이동이 발생하지 않아야 합니다. 따라서, 전역 상태 관리 로직이나, useEffect와 같은 부분에서 페이지 이동 조건을 다시 한번 확인해 보세요.

위의 방안들을 시도해 보시고 여전히 문제가 해결되지 않는다면, 프로젝트의 다른 설정 파일이나 코드 전체를 재검토하는 것이 좋을 것 같습니다. 추가적인 도움이 필요하다면, 더 자세한 코드 정보나 오류 메시지를 제공해 주시면 좋겠습니다.

세인트킴님의 프로필 이미지
세인트킴

작성한 질문수

질문하기