강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

Din p님의 프로필 이미지
Din p

작성한 질문수

실전 리액트 프로그래밍

SPA 초기 로딩 처리하기

Uncaught TypeError: Failed to execute 'removeChild' on 'Node': parameter 1 is not of type 'Node'

작성

·

1.1K

1

Uncaught TypeError: Failed to execute 'removeChild' on 'Node': parameter 1 is not of type 'Node'

자꾸 오류가 나오는데 어떻게 해야할까요 구글링을 해봐도 고칠 수가 없네요

답변 2

0

이재승님의 프로필 이미지
이재승
지식공유자

저는 재현이 안되네요
참고로 저는 Mac 크롬(v104.0.5112.101) 입니다
코드 공유해주시면 저도 실행해볼게요

이재승님의 프로필 이미지
이재승
지식공유자

확인해보니 React.StrictMode 가 켜져있어서 문제가 되고있네요
StrictMode 때문에 코드가 두 번 실행되고, 첫 번째 실행에서 삭제됐는데 두 번째 실행에서 또 삭제하려다가 에러가 나는 상황입니다
React.StrictMode를 켠 상태에서는 코드를 아래처럼 변경하시면 될거에요

const bodyEl = document.getElementsByTagName("body")[0];
const loadingEl = document.getElementById("init-loading");
if (loadingEl) {
bodyEl.removeChild(loadingEl);
console.log(bodyEl, loadingEl);
}

Din p님의 프로필 이미지
Din p
질문자

오 그렇군요 감사합니다!

0

이재승님의 프로필 이미지
이재승
지식공유자

안녕하세요
아래 코드를 넣었을 때 어떻게 출력되나요?
console.log(bodyEl, loadingEl);

참고로 저는 아래처럼 출력됩니다
<body>...</body> <div id="init-loading">...</div>

Din p님의 프로필 이미지
Din p
질문자

저도 똑같이 출력됩니다

Din p님의 프로필 이미지
Din p

작성한 질문수

질문하기