• 티스토리 홈
  • 프로필사진
    KIMJAVAN
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
KIMJAVAN
  • 프로필사진
    KIMJAVAN
    • 개발 (160)
      • 마크업 언어 (19)
        • HTML (7)
        • CSS (12)
      • 자바스크립트 (85)
        • JavaScript (34)
        • JS Library (6)
        • React (13)
        • threeJS (6)
        • TypeScript (2)
        • Next js (5)
        • Node JS (18)
        • webGL (1)
      • AI (4)
        • chat-gpt (4)
      • flutter (17)
        • dart (11)
        • flutter (6)
      • Sql (3)
      • PHP (4)
      • Python (2)
      • Git (4)
      • vscode (1)
      • 개발 도움 사이트 (7)
      • 작업기록 (1)
      • 오류 모음 (3)
      • 메모장 (7)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • [React] Jsx, State, Props, Data fetching, Routing 설명 / 예
        2024년 11월 28일
        • KIMJAVAN
        • 작성자
        • 2024.11.28.:41
        728x90

         

        1. JSX

        JSX는 JavaScript XML의 줄임말이야. HTML과 비슷하게 생겼지만 JavaScript 코드 안에서 사용되는 특별한 문법이야.
        React 컴포넌트에서 UI를 그리는 데 사용돼!

        예시:

        function Hello() {
          return <h1>Hello, React!</h1>;
        }

         

        위 코드는 HTML처럼 보이지만 실제로는 JavaScript야. JSX 덕분에 UI를 선언적으로 작성할 수 있어. 그리고 컴파일되면 JavaScript 코드로 변환돼!

         

         

        2. State

        State는 컴포넌트의 "내부 데이터"를 말해. 컴포넌트가 가지고 있는 데이터를 관리하고, 그 데이터가 바뀌면 UI가 자동으로 업데이트돼.

        예시:

        import React, { useState } from 'react';
        
        function Counter() {
          const [count, setCount] = useState(0);
        
          return (
            <div>
              <p>현재 카운트: {count}</p>
              <button onClick={() => setCount(count + 1)}>카운트 증가</button>
            </div>
          );
        }

         

        여기서 count는 state야. 버튼을 클릭하면 setCount로 state를 업데이트하고, UI가 새로 그려져!

         

        3. Props

        Props는 부모 컴포넌트에서 자식 컴포넌트로 데이터를 전달할 때 사용해. 일종의 "외부 데이터"라고 생각하면 돼.

        예시:

        function Greeting(props) {
          return <h1>안녕하세요, {props.name}!</h1>;
        }
        
        function App() {
          return <Greeting name="근영" />;
        }

         

        여기서 name="근영"이 props야. 부모 컴포넌트(App)에서 자식 컴포넌트(Greeting)로 데이터를 넘긴 거지.

         

        4. Data Fetching

        React 앱에서 서버에서 데이터를 가져오는 걸 "데이터 패칭"이라고 해. 주로 useEffect와 fetch를 같이 써.

        예시:

        import React, { useState, useEffect } from 'react';
        
        function UserList() {
          const [users, setUsers] = useState([]);
        
          useEffect(() => {
            fetch('https://jsonplaceholder.typicode.com/users')
              .then(response => response.json())
              .then(data => setUsers(data));
          }, []);
        
          return (
            <ul>
              {users.map(user => (
                <li key={user.id}>{user.name}</li>
              ))}
            </ul>
          );
        }

         

        위 코드는 API에서 사용자 데이터를 가져와서 화면에 리스트로 표시하는 예제야. useEffect는 컴포넌트가 처음 렌더링될 때 실행돼.


        5. Routing

        Routing은 사용자가 어떤 URL로 이동했을 때 어떤 컴포넌트를 보여줄지 결정하는 거야. React에서는 react-router-dom 라이브러리를 자주 사용해.

        import React from 'react';
        import { BrowserRouter as Router, Route, Link } from 'react-router-dom';
        
        function Home() {
          return <h1>홈 페이지</h1>;
        }
        
        function About() {
          return <h1>소개 페이지</h1>;
        }
        
        function App() {
          return (
            <Router>
              <nav>
                <Link to="/">홈</Link>
                <Link to="/about">소개</Link>
              </nav>
              <Route path="/" exact component={Home} />
              <Route path="/about" component={About} />
            </Router>
          );
        }

         

        위 코드는 간단한 라우팅 예제야. /에 접속하면 "홈 페이지"가, /about에 접속하면 "소개 페이지"가 보여!

         


         

        한눈에 정리:

        • JSX: HTML과 비슷한 문법으로 UI를 작성.
        • State: 컴포넌트 내부 데이터, 동적으로 변경 가능.
        • Props: 부모가 자식에게 전달하는 데이터.
        • Data Fetching: API 등에서 데이터를 가져오는 작업.
        • Routing: URL에 따라 컴포넌트를 전환.

        '자바스크립트 > React' 카테고리의 다른 글

        [React] 텍스트를 한 자 한 자 쪼개서 감싸기 - 함수형  (0) 2024.08.23
        [React] input / onChange  (0) 2024.08.12
        [React] 리액트 (성능)  (0) 2024.08.07
        [React] 기본 get 통신  (0) 2024.04.01
        [React + NodeJS] get 통신 / 컨트롤러 함수 사용  (0) 2024.04.01
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바