본문 바로가기
Error

[React] Minified React error #200; / Target container is not a DOM element.

by 쑤웅 2023. 1. 22.

Minified React error #200;가 나면 먼저 오류 코드 안에 있는 링크에 들어가서 확인하기

 

위와 같은 페이지와 함께 "Target container is not a DOM element."라는 오류 메세지 확인하기

 

 

오류가 발생한 원인
DOM에 렌더링 시 return하고자 하는 element를 찾을 수 없어서 발생했습니다.

 

 

해결방법
js 파일에서 가져오고자 하는 element 의 id 와 렌더링 될 element 의 id 를 맞춰주면 오류가 해결이 됩니다.

 

 


 

그래서 저는 아래 코드와 같이 작성을 했는데 오류가 발생하여

<!DOCTYPE html>
<html lang="en">
  <body>
    <div id="root"></div>
  </body>
  <script src="https://unpkg.com/react@17.0.2/umd/react.production.min.js"></script>
  <script src="https://unpkg.com/react-dom@17.0.2/umd/react-dom.production.min.js"></script>
  <script>
    const root = document.getElementById('root');
    const span = React.createElement('span', null, "Hello I'm a span");
    const btn = React.createElement('button', null, 'click me');
    const container = React.createElement('div', null, [span, btn]);
    ReactDOM.render(container, btn, span, root);
  </script>
</html>

아래와 같이 return 할 argument를 수정해줬더니 오류가 해결되었습니다

<!DOCTYPE html>
<html lang="en">
  <body>
    <div id="root"></div>
  </body>
  <script src="https://unpkg.com/react@17.0.2/umd/react.production.min.js"></script>
  <script src="https://unpkg.com/react-dom@17.0.2/umd/react-dom.production.min.js"></script>
  <script>
    const root = document.getElementById('root');
    const span = React.createElement('span', null, "Hello I'm a span");
    const btn = React.createElement('button', null, 'click me');
    const container = React.createElement('div', null, [span, btn]);
    ReactDOM.render(container, root);
  </script>
</html>

 

 

결론

나의 오류 원인 : container로 묶은 span, btn을 한번 더 return을 해줘서 발생한 거 같습니다.

 

 

 

 

참고
https://stackoverflow.com/questions/64097973/uncaught-error-minified-react-error-200
https://infiduk.github.io/2021/09/06/react-dom.html

댓글