리액트는 앞에 언급했듯이 웹 애플리케이션에서 사용하는 UI를 재사용 가능한 컴포넌트로 분리하여 작성함으로서, 프로젝트의 유지보수성을 높여줍니다.
컴포넌트에 해당하는 소스를 App.js에서 확인해 보자.
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
class App extends Component {
render() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<h1 className="App-title">Welcome to React</h1>
</header>
<p className="App-intro">
To get started, edit <code>src/App.js</code> and save to reload.
</p>
</div>
);
}
}
export default App;
이 코드를 또 작게 나누어서 해석해보자.
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
첫째 줄은 React와 {Component}를 불러온다 'react'에서 , 여기서 React를 불러오는 이유는 파일에서 JSX를 사용하기 위함.
두번째 줄은 logo를 ./logo.svg 에서 가져오고
세번째 줄은 ./App.css를 가져옴.
이 import는 Webpack을 사용하기 때문에 가능한 작업.
다음 컴포넌트로 넘어가자.
class App extends Component {
...
}
컴포넌트를 만드는 방법은 1. 클래스를 통해 만들기, 2. 함수를 통해 만들기가 있는데 2.는 나중에 알아보도록 하고 우선 클래스를 통해 만들어 보도록 하자.
render() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<h1 className="App-title">Welcome to React</h1>
</header>
<p className="App-intro">
To get started, edit <code>src/App.js</code> and save to reload.
</p>
</div>
);
}
클래스 형태로 만들어진 컴포넌트
-꼭 render 함수가 있어야 함
-내부에서는 JSX를 return 해주어야 함. 위의 HTML 같은 코드가 JSX임.(return 블록)
그리고 마지막 줄에 있는 코드를 보면 작성한 컴포넌트를 다른곳에서 사용할 수 있도록 내보내기를 해줌
export default App;
이 컴포넌트가 어떻게 사용되는지를 보기위해 index.js파일을 보자.
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import registerServiceWorker from './registerServiceWorker';
ReactDOM.render(<App />, document.getElementById('root'));
registerServiceWorker();
import App from './App';
코드를 보면 위와 같이 import App from './App'; 이라는 코드로 위에서 App으로 내보내기 했던 컴포넌트를 불러와서 사용하는 것을 볼 수 있다.
ReactDOM.render(<App />, document.getElementById('root'));
registerServiceWorker();
그리고 브라우저 상에 우리의 리액트 컴포넌트를 보여주기 위해서는 ReactDOM.render 함수를 사용한다. 첫번째 파라미터는 렌더링 할 결과물이고, 두번째 파라미터는 컴포넌트를 어떤 DOM 에 그릴지 정해줍니다.
id 가 root 인 DOM 을 찾아서 그리도록 설정이 되어있는데, 해당 DOM 은 public/index.html 파일에서 찾아볼 수 있다.
해당 파일 안의 <div id="root"></div>를 찾아서 렌더링 해주게 됨.
출처 - 벨로퍼트님 블로그
'반영훈 > 웹 개발' 카테고리의 다른 글
[React]JSX, style, class, 조건부 렌더링 (0) | 2020.08.19 |
---|---|
[React] Node.js, Yarn (0) | 2020.08.19 |
[React] 공부할 때 도움이 되었던 사소하지만 큰 것 (0) | 2020.08.19 |
[React] 프론트엔드 라이브러리 (0) | 2020.08.18 |
[JS]함수 스코프 개념 이해 (0) | 2020.08.13 |
댓글