React 시작

React 랜더링 해보기

HTML 뼈대 만들기

index.html

<html>
    <head>
        <title>Heo의 블로그</title>
    </head>
    <body>
        <h1>Heo의 블로그에 오신 것을 환영합니다!</h1>
    </body>
</html>
스크린샷 2023-11-22 오후 5.11.31.png

먼저 뼈대인 HTML의 틀을 간단하게 만들었다. 위 그림을 보면 title 태그와 h1 태그의 내용이 올바르게 나오는 것을 확인할 수 있다.

CSS 적용

index.html

<html>
    <head>
        <title>Heo의 블로그</title>
        <link rel="stylesheet" href="styles.css">
    </head>
    <body>
        <h1>Heo의 블로그에 오신 것을 환영합니다!</h1>
    </body>
</html>

링크 태그는 현재 html 파일과 외부 리소스 사이의 관계를 정의할 때 사용한다.

css 파일을 불러오거나 웹 브라우저의 탭에 나오는 아이콘인 favicon 같은 것을 넣기 위해 가장 많이 사용된다.

참고로 index.html 파일과 styles.css 파일이 동일한 디렉토리에 위치해야 한다.

styles.css

h1 {
    color: green;
    font-style: italic;
}
스크린샷 2023-11-22 오후 5.13.50.png

위 그림을 보면 h1의 텍스트 글꼴과 색이 바뀐 것을 확인할 수 있다.

React 랜더링

먼저 DOM Contianer를 등록해준다.

index.html

<html>
    <head>
        <title>Heo의 블로그</title>
        <link rel="stylesheet" href="styles.css">
    </head>
    <body>
        <h1>Heo의 블로그에 오신 것을 환영합니다!</h1>

        <div id="root"></div>  <!--DOM Contianer-->
    </body>
</html>

그리고 리액트를 랜더링 하기위해 아래 코드를 작성한다.

index.html

<html>
    <head>
        <title>Heo의 블로그</title>
        <link rel="stylesheet" href="styles.css">
    </head>
    <body>
        <h1>Heo의 블로그에 오신 것을 환영합니다!</h1>

        <div id="root"></div>

        <!-- 리액트 가져오기-->
        <script src="https://unpkg.com/react@17/umd/react.development.js" crossorigin></script>
        <script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js" crossorigin></script>

        <!-- 리액트 컴포넌트 가져오기-->
        <script src="MyButton.js"></script>
    </body>
</html>

컴포넌트에서 정의한 이름과 동일하게 MyButton.js을 만들고, 리액트를 적용했다.

MyButton.js

function MyButton(props) {
    const [isClicked, setIsClicked] = React.useState(false);

    return React.createElement(
        'button',
        { onClick: () => setIsClicked(true) },
        isClicked ? 'Clicked!' : 'Click here!'
    )
}

const domContainer = document.querySelector('#root');
ReactDOM.render(React.createElement(MyButton), domContainer);
스크린샷 2023-11-22 오후 5.33.36.png
스크린샷 2023-11-22 오후 5.33.43.png

클릭을 누르면 바뀌는 것을 확인할 수 있는데, 이것은 React 컴포넌트의 state가 변경되었기 때문이다.

위 방식으로 React를 랜더링을 했지만, 매번 개발할 때 해당 방식으로 하면 번거롭다.

그래서 이 모든 과정이 필요 없이 곧바로 React 웹 애플리케이션을 개발할 수 있도록 프로젝트를 자동으로 생성해주는 Create React 앱이라는 패키지를 알아보겠다.

Create React App

앞에서 한 방식은 기존에 있는 웹 사이트에 React를 적용하는 방법이였다.

하지만 새로운 웹 사이트를 만들 때에는 굳이 그렇게 할 필요가 없다. 처음부터 React가 적용되어 있는 상태로 개발을 진행하면 되기 때문이다.

그래서 React로 웹 사이트를 개발할 때에는 주로 Create React App을 사용한다.

Create React AppReact로 웹 애플리케이션을 개발하는데 필요한 모든 설정이 되어 있는 상태로 프로젝트를 생성해주는 도구이다. 이름이 길어서 앞 글자를 따서 CRA라고 부르기도 한다.

Create React App 실행

터미널에 아래와 같이 입력해주면 된다.

create-react-app 나의 프로젝트

입력하면 아래와 같이 설치되는 것을 볼 수 있다.

스크린샷5 2023-11-22 오후 5 59 32

프로젝트 생성이 완료되면 아래 화면에 보이는 것처럼 애플리케이션이 실행할 수 있는 명령어를 안내해준다.

스크린샷6 2023-11-22 오후 6 02 53
  • cd = 경로 변경

  • npm start = 애플리케이션 실행

내 프로젝트로 이동 후 애플리케이션을 실행시키면 아래와 같이 리엑트가 localhost 3000번으로 실행되는 것을 볼 수 있다.

스크린샷7 2023-11-22 오후 6 06 12

이러면 현재 리액트 애플리케이션이 로컬 개발 환경에서 실행된 것이다.

참고 자료

Last updated