[ReactJS] DOM Element 접근
2019. 5. 26. 01:08ㆍReactJS
ref ?
리액트 세계에선 JSX로 마크업 표현이 다 가능한데 왜 굳이 DOM에 직접 접근을 해야하는가!
여러 경우가 있습니다!
- form태그에서 input에 focus할 때
- 특정 DOM의 크기/ 스크롤 위치를 가져오거나 설정할 때
- 외부 라이브러리를 사용할 때
portal?
ReactDOM.createProtal()을 리턴해 기존에 계속 id값이 container인 div태그 안의 범위에 있는 걸 벗어나서
페이지의 어느 Element든 직접 접근이 가능해집니다!
(포털을 사용함으로써 기존의 부모-자식으로 이뤄진 계층 구조를 벗어날 수 있다)
class Container extends React.Component{
render(){
return(
<div>container jsx<div>,
destination
)
}
}
class ColorLabel extends React.Component {
render() {
return ReactDOM.createPortal(
<p>출력될 JSX</p>,
document.querySelector('#header1')
)
}
}
ReactDOM.render(
<div>
<Container />
</div>,
)
[참고]
velopert.com/1148
'ReactJS' 카테고리의 다른 글
리액트 상태관리 - Redux를 이용해보자 (0) | 2019.05.29 |
---|---|
SPA (Single Page Application) (0) | 2019.05.29 |
[ReactJS] React Component LifeCycle API (0) | 2019.05.20 |
[ReactJS] state / props (0) | 2019.05.19 |
[ReactJS] 리액트 컴포넌트, 엘리먼트 (0) | 2019.05.19 |