inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

노드 리액트 기초 강의 #34 인증 체크 (2) 강의 마무리.

마지막 강의에서 만난 오류 두가지 해결과정

973

devjeenie

작성한 질문수 4

25

여태껏 다른 분들이 달아주신 댓글을 종합해서 정리해봤습니다

 

# 1. 첫번째 오류 - v6 오류

 

Warning: Functions are not valid as a React child. This may happen if you return a Component instead of <Component /> from render. Or maybe you meant to call this function rather than return it.

 

이 오류는 v6에서 element 내부에 Auth 지원이 안되어서 생기는 오류 같습니다

 

## 1-1. 해결방법

 

### 1-1-1. App.js element 수정하기

 

<BrowserRouter>
<Routes>
<Route exact path="/" element={Auth(LandingPage, null)} />
<Route exact path="/login" element={Auth(LoginPage, false)} />
<Route exact path="/register" element={Auth(RegisterPage, false)} />
</Routes>
</BrowserRouter>

 

 

여기서 Auth를 모두 지우고 컴포넌트를 넣으세요

 

<BrowserRouter>
<Routes>
<Route exact path="/" element={<LandingPage />} />
<Route exact path="/login" element={<LoginPage />} />
<Route exact path="/register" element={<RegisterPage />} />
</Routes>
</BrowserRouter>

 

(이렇게)

 

 

### 1-1-2. 각 컴포넌트 export 위치에 Auth를 감싸기

 

export default LoginPage;
export default LandingPage;
export default RegisterPage;

 

지금 LoginPage, LandingPage, RegisterPage의 export가 그냥 이렇게 되어있을 겁니다

 

이자리에서 Auth 감싸줄 겁니다

 

export default Auth(LoginPage, null);
export default Auth(LandingPage, false);
export default Auth(RegisterPage, false);

 

이렇게 변경하시면 됩니다

 

그리고 강의 중에 작성하는 모든 props.history는

import { useNavigate } from 'react-router-dom'
let navigate = useNavigate()
navigate('/login')

navigate('/') 로 작성하시면 됩니다

 

 

 

# 2. 두번째 오류 - auth.js의 액션 이름 괄호 놓침

 

Uncaught TypeError: (0 , _actions_user_action__WEBPACK_IMPORTED_MODULE_2__.auth)(...).then is not a function

 

이런 오류가 뜨면서 백지가 나타났는데 오류 의미를 몰라서 한참 찾았습니다

 

## 2-1. 해결방법

 

React.useEffect(() => {
dispatch(auth().then(response => {
console.log(response)
}))
}, [])

 

 

이렇게 되어있었는데, (auth().then()) 가 아니라 (auth()).then() 입니다

 

React.useEffect(() => {
dispatch(auth()).then(response => {
console.log(response)
})
}, [])

 

찾기 힘든 오타라 저는 한참 찾았어요.... 조심하시길....

 

 

# 3. 세번째 오류 - 이유를 알 수 없는 504 서버에러

 

이건 그냥 빡쳐서 자고 다음날 하니까 해결 됐습니다

정 안되면 다음날 해보세요

 

 

nodejs react

답변 5

1

Sung Jae Lee

에러 관련해서 tip 주신거 보고 따라하니 정상작동 됬습니다.

그런데 option 설정해주는 부분에

login 페이지가 false고

landing 페이지는 null로

정정해주셔야 할듯 해요.

0

wsim

좋은글이네요 감사합니다!

0

BlkDrgg

정리 정말 잘 해주셨네요 감사합니다.

0

yura0501

감사합니다!!!!!

0

wxd8339

감사합니다!!

깃 이메일이랑 비번이 필요하다고 하네요

0

34

1

404 에러

0

101

1

34강 인증 체크에서 element 사용 때문에 에러나시는 분들 이렇게 하심 됩니다.

0

118

1

로그인, 로그아웃, 토근 작동 안 함

0

237

0

9강 오류 어떻게 해결하나요?

0

193

1

localhost 에서 연결을 거부했습니다.

0

1924

4

포스트맨에서 true가 안떠요

0

150

1

왜 안되나요

0

128

1

몽고db 연결 오류가 납니다 위에껀 입력한 코드, 아래껀 터미널이에요

0

243

1

로그아웃 401 에러(Unauthorized)

0

502

2

암호가 해싱되지 않고 입력값 그대로 db에 저장되는 문제

0

148

1

7강중에서

0

162

2

User.findByToken is not a function

0

210

1

루트 디렉토리

0

268

1

useState

0

560

1

프록시 잘 설정했는데도 404 오류 뜨는 분들

5

874

6

webpack 관련 에러 질문

0

218

1

리액트 관련 질문

0

271

1

14강 로그아웃 안됨

0

317

1

mongoDB 데이터 확인하는 법

0

407

1

postman 에러

0

290

1

선생님 리덕스를 사용하면 어떠한 부분이 좋은지 알 수 있을까요?

0

232

1

다음과 같은 에러들이 발생합니다.

0

271

1

14강 로그아웃 기능 구현시 postman에서 Cannot POST 오류가 뜹니다.

0

378

1