• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

18버전에서의 ReactDOM.render

22.05.11 18:31 작성 조회수 460

1

18버전에서 컴파일은 정상적으로 되었으나 ReactDOM.render 지원이 안되다는 에러가 나옵니다.

그래서 아래처럼 변경 했는데, 이부분도 다뤄주시면 좋겠습니다.

import * as ReactDOM from 'react-dom/client';
const root = ReactDOM.createRoot(document.getElementById('root')!);

root.render(
    <React.StrictMode>
      <GuGuDan />
    </React.StrictMode>
  );

그리고 document.getElementById('root') 라고만 하면 아래 에러가 납니다.

뒤에 명적으로 정의"!" 하니 에러가 안납니다.

왜 그런건지 궁금합니다.

'HTMLElement | null' 형식의 인수는 'Element | DocumentFragment' 형식의 매개 변수에 할당될 수 없습니다.
'null' 형식은 'Element | DocumentFragment' 형식에 할당할 수 없습니다.ts(2345)

 

 

 

답변 1

답변을 작성해보세요.

0

ts는 dom을 몰라서 분명히 존재하는 태그도 null일 가능성을 염두에 두고 있습니다. 이럴때는 어쩔 수 없이 non null assertion을 해야 합니다.