useEffect내에서 console.log가 찍히지 않을때 =>
1.비동기함수가 더 빠르게 작동하지 않는지 체크해볼것 ! !
2.return 하여 렌더링되는 페이지 안에 출력되야하는 결과물이 있는지 확인할것, (있다면 해당 결과물을 조건식으로 감쌀것 )
///해결된 실행문
const [userInPage, setUserInPage] = useState(false)
useEffect(() => {
//1.user === "nouser"일때 navigate()으로 코드 짰는데, 비동기 함수가 더 빠르게 작동,
//따라서 if 문의 순서를 바꾸었더니 작동함.
if(user !== "nouser"){
setUserInPage(true)
dispatch(fetchAllUsers());
dispatch(fetchMainInfo());
}else{
navigate("/admin/signin")
}
}, [dispatch,navigate]);
return (
[...]
//2.페이지 리턴값중에 문제가 되는 user를 조건식으로 감싸줌 => user가 없으면 페이지 내 user가 출력되지
//않으므로 잘 실행이 됌
{userInPage &&
<div>{user}</div>}
[...]
)
///이전 오류 실행문
useEffect(() => {
if(user === "nouser"){
console.log(user) // => user가 나오지 않음.. ㅠㅠ
navigate("/admin/signin")
}else{
dispatch(fetchAllUsers());
dispatch(fetchMainInfo());
}
}, [dispatch,navigate]);
return (
[...]
<div>{user}</div>
[...]
)