portal은 부모 컴포넌트의 DOM 계층 바깥에 있는 DOM 노드로 자식을 렌더링하는 최고의 방법
컴포넌트의 HTML 컨텐츠를 다른 곳에 옮길때 사용
<div>
<modal />
<component />
</div>
이런식으로 jsx코드 노드가 여러가지 있다고 치면 createPortal을 사용하여, 원하는 html 위치에서 렌더링 되게 할수있다.
이를위해 index.html 에서 id 가 “root”과 같은 위치에서 랜더링하고싶다면 옆에 <div id=“원하는이름”></div> 식으로 만들어주고
해당 컴포넌트 js에서 import '원하는이름' from ‘react-dom’ 해주고
js작성 구역에 아래와같이 해당 div 컴포넌트를 Backdrop 컴포넌트 함수안에 return으로 담아주고
return 부분에서 원하는 위치에서
ReactDom.createPortal(<실행시킬 컴포넌트 />, document.getElementById(‘렌더링할 위치)’ )
'라이브러리&프레임워크 > React' 카테고리의 다른 글
[React] useEffect 2번 실행되는 이유 (0) | 2022.07.09 |
---|---|
[리액트] 페이지 이동시 해당컴포넌트 안의 스크롤 위치 상단위치하기 (0) | 2022.05.12 |
[리액트] 조건부 컨텐츠(conditional content), stateless/stateful component (0) | 2022.03.14 |
[리액트] 렌더링 리스트, map, 배열안 태그 (0) | 2022.03.14 |
[리액트] MVC 패턴 양방향 바인딩,자식컴포넌트->부모컴포넌트 상향식 데이터 통신방법, 전역상태관리 (0) | 2022.03.13 |