Development/React.js

Functions are not valid as a React child .

moretz0921 2022. 3. 30. 21:52

 

 

1) React Rouer v6부터 component={} 대신 element={}를 사용

- hoc 함수로 컴포넌트를 감싸야할 경우 오류가 발생

 

function App():JSX.Element {
  return (
    <div className="App">
      <Router>
        <Routes>
          <Route path="/" element={ Auth(LandingPage, null) } />
          <Route path="/login" element={ Auth(LoginPage, false) }/>
          <Route path="/register" element={ Auth(RegisterPage, false) } />
        </Routes>
      </Router>
    </div>
  );
}

 

element={}에는 함수가 들어갈 수 없기 때문에 발생하는 오류이다. 오로지 컴포넌트만 넣을 수 있다!!

 

function App():JSX.Element {
  return (
    <div className="App">
      <Router>
        <Routes>
          <Route path="/" element={ <LandingPage> } />
          <Route path="/login" element={ <LoginPage> }/>
          <Route path="/register" element={ <RegisterPage> } />
        </Routes>
      </Router>
    </div>
  );
}

 

 

 

출처

https://akjfal.tistory.com/entry/Functions-are-not-valid-as-a-React-child-This-may-happen-if-you-return-a-Component-instead-of-Component-from-render

 

Functions are not valid as a React child. This may happen if you return a Component instead of <Component /> from render.

함수 호출을 잘 못 했을때 발생한다. 문제 예제) import { Layout } from '../Component' export function Main(){ const Bar = () => { return ( App bar ) } return( // // 문제 코드 } /> // 정상 코드 ... )..

akjfal.tistory.com

 

https://intrepidgeeks.com/tutorial/apply-react-error-logrouter-v6-route-element-hoc

 

[React 에러 일지] Router v6 - Route element hoc 적용하기

[TIL] 10월 6일 권한분기(HOC,HOF,클로저) 권한분기 크게는 비회원, 구매자, 판매자, 중개관리자 등등 여러가지의 회원 유형이 있을수 있고 해당 회원마다 볼수있는 페이지의 권한이 모두 달라야 한

intrepidgeeks.com

 

'Development > React.js' 카테고리의 다른 글

react-hook-form  (0) 2022.04.05
타입스크립트에서 useRef 사용하기  (0) 2022.04.05
리엑트 버전 18 에러  (0) 2022.03.30
React Icon  (0) 2022.03.30
Next 실행시 발생하는 에러  (0) 2022.03.30