초보자도 쉽게 배우는 리액트 컴포넌트 작성 방법!

2024. 7. 25. 20:29·웹개발/REACT
728x90

안녕하세요!
오늘은 여러분에게 리액트라는 재미있는 프로그램을 알려드릴게요:)

리액트는 우리가 웹사이트를 쉽게 만들 수 있게 도와주는 도구예요. 이제, 리액트로 컴포넌트를 어떻게 만드는지 함께 배워볼까요?


그전에 먼저,,!

HTML이란 무엇인가요?

HTML은 웹사이트를 만드는 기본적인 언어예요. 여기 작은 예시가 있어요:

<!DOCTYPE html>
<html lang="ko">
  <head>
    <meta charset="UTF-8" />
    <title>HTML 예제</title>
  </head>
  <body>
    <h1>내 웹사이트</h1>
    <p>여기는 소개 내용을 쓰는 곳이에요.</p>
  </body>
</html>

위의 예시는 우리가 웹사이트를 만들 때 사용하는 HTML이에요. HTML은 매우 간단하고, 우리가 무슨 내용을 넣을지 쉽게 알 수 있어요.

리액트에서 컴포넌트 만들기

리액트에서는 우리가 웹사이트를 조각조각 나눠서 만들 수 있어요. 이 조각을 "컴포넌트"라고 해요. 두 가지 방법으로 컴포넌트를 만들 수 있어요! createElement를 사용하는 방법과 JSX를 사용하는 방법이 있어요.

CreateElement

리액트가 처음 나왔을 때는 createElement를 사용해서 컴포넌트를 만들었어요. 예를 들어, 아래와 같이 작성했어요

import { createElement } from 'react';

function Greeting() {
  return createElement('h1', { className: 'greeting' }, '안녕하세요, 리액트!');
}

이 코드에서는 createElement를 사용해서 "안녕하세요, 리액트!"라는 문구가 들어간 h1 태그를 만들었어요.

 

JSX

JSX는 리액트를 더 쉽게 사용하기 위해 만든 특별한 문법이에요. HTML과 비슷해서 더 이해하기 쉽답니다. 예를 들어, 같은 Greeting 컴포넌트를 JSX로 작성하면 이렇게 돼요:

function Greeting() {
  return <h1 className="greeting">안녕하세요, 리액트!</h1>;
}​

어때요? createElement를 사용하는 것보다 더 간결하고 읽기 쉽죠? 그래서 우리가 컴포넌트를 더 쉽게 만들 수 있어요.
더보기
더보기

🤚🏻잠깐 JSX가 뭐에요?

JSX => Java Script XML의 줄임말입니다. JSX는 자바스크립트에 XML/HTML 같은 구문을 포함할 수 있도록 하는 확장 문법입니다.

그러면 XML은 뭘까요?

XML은 Extensible Markup Language의 줄임말로, 데이터를 구조화하고 저장하는 데 사용되는 마크업 언어입니다. XML은 사람과 기계 모두가 읽을 수 있는 형식으로 데이터를 표현하며, 주로 데이터를 교환하는 표준 형식으로 사용됩니다.

 

JSX 사용 규칙

JSX를 사용할 때는 몇 가지 규칙이 있어요. 함께 알아볼까요?

1. 하나의 루트 태그로 감싸기
JSX는 하나의 루트 태그로 감싸져 있어야 해요.

* 루트 태그는 문서 내의 다른 모든 요소를 포함하는 최상위 태그

// Bad
const App = () => {
  return (
    <h1>안녕하세요!</h1>
    <p>리액트를 배워봐요!</p>
  );
}

// Good  <div></div>가 루트태그
const App = () => {
  return (
    <div>
      <h1>안녕하세요!</h1>
      <p>리액트를 배워봐요!</p>
    </div>
  );
}

2. 태그를 꼭 닫아주세요
모든 태그는 닫혀 있어야 해요.

// Bad
const App = () => {
  return <br>;
}

// Good
const App = () => {
  return <br />;
}

3. 중괄호 사용하기
자바스크립트 표현식은 {} 안에 넣어요.

const App = () => {
  const name = "철수";
  return <h1>안녕하세요, {name}!</h1>;
};

4. class 대신 className 사용하기
class 속성 대신 className을 사용해요.

const App = () => {
  return <div className="wrap">안녕하세요!</div>;
};

5. 컴포넌트 이름은 대문자로 시작하기
함수형 컴포넌트의 이름은 항상 대문자로 시작해요.

// Bad
const app = () => {
  return <div>안녕하세요!</div>;
};

// Good
const App = () => {
  return <div>안녕하세요!</div>;
};
728x90

'웹개발 > REACT' 카테고리의 다른 글

리액트에서 map함수 사용하기  (0) 2024.07.25
리액트 컴포넌트에 CSS 스타일링하는 방법과 vite기반의 tailwind주소  (0) 2024.07.25
리액트 컴포넌트, 아직도 클래스형 쓰는 사람? 이 글 읽고 손절하자!  (3) 2024.07.24
리액트 확장자명 헷갈리면 들어와! / .js, .jsx, .tsx  (0) 2024.07.24
바벨과 웹팩, Vite의 역할: 리액트 개발에서의 필수 도구 이해하기  (2) 2024.07.23
'웹개발/REACT' 카테고리의 다른 글
  • 리액트에서 map함수 사용하기
  • 리액트 컴포넌트에 CSS 스타일링하는 방법과 vite기반의 tailwind주소
  • 리액트 컴포넌트, 아직도 클래스형 쓰는 사람? 이 글 읽고 손절하자!
  • 리액트 확장자명 헷갈리면 들어와! / .js, .jsx, .tsx
튼튼발자
튼튼발자
프론트엔드 개발자입니다. 헬스를 가끔해서인지 몸이 튼튼한거 같습니다. 그래서 튼튼한 개발자 => 튼튼발자입니다. 프론트엔드 및 관련 개발 내용 블로그 글로 정리해서 올려둡니다.
    250x250
  • 튼튼발자
    튼튼발자
    튼튼발자
  • 전체
    오늘
    어제
    • 분류 전체보기 (192)
      • 튼튼발자의 끄적끄적 (10)
      • 웹개발 (94)
        • HTML (5)
        • CSS (2)
        • JavaScript (40)
        • TypeScript (5)
        • REACT (22)
        • Next.js (13)
        • GIt (7)
      • 기타 (3)
        • 일상 (3)
      • 프로젝트 (27)
        • Componique: UI 컴포넌트 라이브러리 (18)
        • GitHub Profile Viewer (8)
        • 잇핏 (1)
      • 프론트엔드 개발자로 취업준비 (1)
        • 기술 면접 (7)
        • 코딩 테스트 준비하기 (0)
        • 자기소개서&지원서&이력서 (0)
      • 컴퓨터과학 (12)
        • 운영체제 (6)
        • 알고리즘 (6)
      • 전공 공부 (37)
        • AI(인공지능) (2)
        • 컴퓨터네트워크 (19)
        • 네트워크프로그래밍 (3)
        • SW소프트웨어응용설계 (7)
        • 클라우드컴퓨팅 (3)
        • 웹서비스프로그래밍 (3)
      • PT (0)
      • 취준일기 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    트랜스포트계층
    TCP
    코딩
    프론트엔드
    리액트
    상태관리
    componique
    github
    프로그래밍
    ui컴포넌트
    react
    프론트엔드개발
    NextJs
    네트워크
    JS
    자바스크립트
    웹개발
    JavaScript
    tailwind
    데이터전송
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
튼튼발자
초보자도 쉽게 배우는 리액트 컴포넌트 작성 방법!
상단으로

티스토리툴바