작성
·
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가 제대로 적용되지 않는 문제와 페이지 이동 문제가 발생하고 있습니다. 여기에 대한 몇 가지 해결 방법을 제시해 드리겠습니다.
CSS 적용 문제
react-toastify/dist/ReactToastify.css
임포트가 제대로 되어 있는지 확인해 주세요. 웹팩 또는 해당 프로젝트의 빌드 설정에서 CSS 파일을 처리할 수 있는 로더가 설정되어 있는지 확인이 필요합니다.로그인 페이지로 자동 이동하는 문제
navigate('/login')
코드가 주석 처리되어 있음에도 페이지가 이동한다면, 다른 부분에서 페이지 이동을 유발하는 코드가 실행되고 있을 가능성이 있습니다. 예를 들면, 상태 관리 로직에서 로그인 여부를 체크하여 페이지를 이동시키는 부분이 있을 수 있습니다.navigate('/login')
부분이 주석 처리되어 있어 페이지 이동이 발생하지 않아야 합니다. 따라서, 전역 상태 관리 로직이나, useEffect
와 같은 부분에서 페이지 이동 조건을 다시 한번 확인해 보세요.위의 방안들을 시도해 보시고 여전히 문제가 해결되지 않는다면, 프로젝트의 다른 설정 파일이나 코드 전체를 재검토하는 것이 좋을 것 같습니다. 추가적인 도움이 필요하다면, 더 자세한 코드 정보나 오류 메시지를 제공해 주시면 좋겠습니다.