Computer/react
211019 리액트 입문
COCSOS
2021. 10. 19. 22:17
w#리액트란?
*자동 업데이트
*UI = render(state)
*render 함수는 순수함수로 작성할것.
랜덤 함수 X 상태 변경하지 말기
*state는 불변 변수로 관리하기
*가상 돔 virtual dom -> UI 빠르게 업뎃 가능. 변경된 부분만 실제로 적용하여 불필요한 업뎃 X
순수 자바스크립트가 더 빠르긴 하다
#순수 리액트란?
React는 javaScript 라이브러리다.
프레임워크처럼 사용법을 적용해놓았으므로 프레임워크라고 봐도 될지도.
자바스크립트라이브러리 이므로 <script/> 태그로 로딩만 하면 된다. 설치할 필요가 없다.
npm, 바벨등으로 설치하는 것은 다른 라이브러리를 사용하기 위해서 이므로, 순수 리액트만 사용한다는 것은
자바스크립트를 구동할 수 있는 브라우져 + 메모장하나로도 개발할수 있는 것.
#React.createElement 사용하기
<div>
<p>hello</p>
<p>world</p>
</div>
위와 같은 ui를 표현하기 위해 createElement를 작성하려면
children으로 p태그를 열어주고
React.createElement(
'div',
null,
React.createElement('p', null, 'hello'),
React.createElement('p', null, 'world')
)
DOM의 여러 요소에 렌더링 하기?
기본 1개는
const domContainer = document.getElementById('root')
ReactDOM.render(React.createElement(XButton), domContainer)
여러개는
ReactDOM.render(React.createElement(XButton), domContainer1)
ReactDOM.render(React.createElement(XButton), domContainer2)
ReactDOM.render(React.createElement(XButton), domContainerN)
이렇게 각각의 상태값을 갖는 독립 DOM을 렌더할 수 있다.
그러나 React 안에서 해결하는것이 좋으며,
ReactDOM.render( 리액트 엘리먼트, 붙일 컨테이너)
React.createElement(태그명 혹은 리액트 엘리먼트, 무슨값이지, 리액트 엘리먼트 ... )
이렇게 할 수 있다.