React

React 소개와 간단한 연동

왕돼지티라노 2024. 4. 23. 11:29
반응형

React

자바스크립트 UI 라이브러리

React는 Vue와 달리 프레임워크가 아닌 라이브러리이다. 프레임워크와 라이브러리의 차이점은 흐름 제어의 권한에 있다. 프레임워크는 제어의 권한이 프레임워크 자신에게 있는데에 반해, 라이브러리는 제어권한이 개발자에게 있다.

  • 리액트의 장점
    1. 빠른 업데이트와 렌더링 속도(화면에 나타나는 내용이 바뀌는 것) -> virtual dom을 사용한다.
    2. 컴포넌트 기반 구조(레고 블록을 조립하듯 컴포넌트들을 모아서 개발한다. 이로 인해 재사용성이 높아지고 개발기간이 단축된다.)
    3. 유지보수 용이(해당 모듈만 수정하면 된다.)
    4. 활발한 지식공유 & 커뮤니티
  • 리액트의 단점
    1. 방대한 학습량
    2. 복잡한 상태관리(props, state...)


간단한 리액트 적용 실습

1. 기존에 있던 웹사이트에 적용

<html>
	<head>
		<title>왕돼지티라노의 기록</title>
		<link rel=“stylesheet” href=“style.css”>
	</head>
	<body>
		<h1>환영합니다!</h1>
		
		<div id=“root”></div> <!—돔 컨테이너를 하나 만듦 —>
		
		<!— 리액트 가져오기 —>
		<script src="https://unpkg.com/react@18/umd/react.development.js" crossorigin></script>
  		<script src="https://unpkg.com/react-dom@18/umd/react-dom.development.js" crossorigin></script>

		<!— 리액트 컴포넌트 가져오기 —>
		<script src=“myButton.js”></script>
	</body>
</html>
//myButton.js
function MyButton(props) {
	const [isClicked, setIsClicked] = React.useState(false);
	
	return React.createElement(
		‘button’, 
		{ onClick: () => serIsClicked(true) },
		isClicked ? ‘Clicked!’ : ‘Clicked here!’
	)
}

const domContainer = document.querySelector(‘#root’);
ReactDOM.render(React.createElement(MyButton), domContainer);

 

2. 새로운 프로젝트에 리액트 적용

create-react-app → 모든 설정이 되어있는 상태로 프로젝트 생성(cra)

[실행 조건]
- Node.js v14.0.0 이상
- npm v6.14.0 이상
- VSCode

- 새로운 리액트 앱 생성

$ npx create-react-app <your-project-name>

 

- 리액트 앱 시작

$ npm start
반응형

'React' 카테고리의 다른 글

React - Component 와 props  (0) 2024.04.28
리액트의 Element  (0) 2024.04.28
JSX 란?  (0) 2024.04.28