• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

버전이 안맞습니다.

22.01.24 09:46 작성 조회수 160

0

강의 내용이 v5 인데 현재 v6 로 업데이트 되면서 해당 강의 내용을 따라하면 오류가 발생합니다.

답변 1

답변을 작성해보세요.

0

안녕하세요 !! 불편을 드려서 죄송합니다 !!! 

이부분은 전체 소스 코드 자료에 업데이트 해놓았는데 
먼저 여기를 봐주시면 

 

import React, { useEffect } from "react";
import { Routes, Route, useNavigate } from "react-router-dom";

import ChatPage from "./components/ChatPage/ChatPage";
import LoginPage from "./components/LoginPage/LoginPage";
import RegisterPage from "./components/RegisterPage/RegisterPage";

import { getAuth, onAuthStateChanged } from "firebase/auth";

import { useDispatch, useSelector } from "react-redux";
import { setUser, clearUser } from "./redux/actions/user_action";

function App(props) {
const navigate = useNavigate();
let dispatch = useDispatch();
const isLoading = useSelector((state) => state.user.isLoading);

useEffect(() => {
const auth = getAuth();
onAuthStateChanged(auth, (user) => {
if (user) {
navigate("/");
dispatch(setUser(user));

// User is signed in, see docs for a list of available properties
// https://firebase.google.com/docs/reference/js/firebase.User
const uid = user.uid;
// ...
} else {
navigate("/login");
dispatch(clearUser());
// User is signed out
// ...
}
});
}, []);

if (isLoading) {
return <div>...loading</div>;
} else {
return (
<Routes>
<Route path="/" element={<ChatPage />} />
<Route path="/login" element={<LoginPage />} />
<Route path="/register" element={<RegisterPage />} />
</Routes>
);
}
}

export default App;

useNavigate 이라는 것을 사용하셔서 페이지를 이동해주시면 됩니다. 
그리고 Route 클래스 안에 속성도 변경된 걸 볼 수 있는데 저런식으로 변경해주시면 됩니다 ! 

이렇게 해주시고 에러가 나면 새글로 문의 남겨주시면 감사하겠습니다 ! 
감사합니다.