"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > React 컴포넌트의 큰 그림

React 컴포넌트의 큰 그림

2024-11-03에 게시됨
검색:338

The Big Picture of React Component

React에서 컴포넌트는 사용자 인터페이스(UI)의 구성 요소와 같습니다. 페이지의 특정 부분이 어떻게 보이고 동작해야 하는지를 정의하는 작고 재사용 가능한 코드 덩어리라고 생각하세요. 이러한 구성 요소를 통해 개발자는 간단하고 독립적이며 재사용 가능한 부분을 결합하여 복잡한 UI를 구축할 수 있습니다.
일반적으로 구성 요소는 본질적으로 사용자 인터페이스의 일부를 렌더링하는 기능으로 생각할 수 있는 독립적이고 재사용 가능한 UI 조각입니다.
독립형, 재사용 가능한 조각 및 렌더링이라는 단어에 대해 약간의 충돌이 있을 수 있다는 것을 알고 있습니다.

컴포넌트를 사용하는 이유에는 세 가지 주요 관심사가 있습니다.

  1. 재사용성
  2. 관심사 분리
  3. 모듈화
  • 재사용성은 구성요소를 한 번 생성하고 애플리케이션 전체에서 여러 번 재사용할 수 있도록 보장합니다.
  • 관심 사항의 분리를 통해 각 구성 요소가 UI의 특정 부분에 집중되도록 하여 코드를 더 쉽게 관리하고 유지할 수 있습니다.
  • 모듈화를 통해 UI를 작고 관리 가능한 구성 요소로 나누어 테스트, 디버그 및 개발을 더 쉽게 할 수 있습니다.

컴포넌트를 정의하여 하나씩 증명해보자. 맙소사!? 간단한 구성 요소를 정의하는 방법을 모른다는 것을 잊었습니다. 내가 여기 있으니 걱정하지 마세요. 모든 것을 무너뜨리기 위해. 그럼 뛰어들자-?
전자상거래 애플리케이션을 개발한다고 가정해 보겠습니다. 여러 위치 또는 여러 페이지의 애플리케이션에서 동일한 제품 카드를 렌더링해야 합니다. 렌더링이란 UI에 응답하는 것을 의미합니다.
이제 시간이 되셨나요? 생각하다? 애플리케이션의 제품 카드를 여러 페이지에 표시하는 방법
전통적으로 웹 페이지를 만들 때 개발자는 콘텐츠를 마크업하고 일부 자바스크립트를 뿌려 상호 작용을 추가했습니다. 이는 동일하게 마크업된 여러 페이지가 여러 페이지로 너무 많이 교체되지 않아 때로는 지루하고 동시에 지루할 뿐만 아니라 디버깅 및 관리가 어려울 때 효과적이었습니다. 코드가 복잡하고 관리하기가 번거로울 수 있습니다.
여기에서 React 컴포넌트 아키텍처의 아름다움을 발견하게 될 것입니다. React를 사용하면 구성 요소를 만들고 원하는 만큼 많은 장소를 사용할 수 있습니다.

// === Reminder ===
Components are regular javascript functions that can sprinkled with javascript
function ProductCard(){
  return(
      

title of the product

price of the product

description of the product

// rest of info
) }

부숴보자-
1단계: ProductCard 이름
으로 간단한 자바스크립트 함수를 선언합니다. 2단계: 구성 요소/함수는 다른 태그로 구성된

태그를 반환합니다.
// === Reminder ===
All tags must return under a parent tag or using a react fragment(>)
// === Reminder ===
React component name must start with a capital letter otherwise it won't treated as a component

ProductCard 구성 요소는 h1,h2,p가 포함된 div 태그 또는 HTML처럼 작성된 기타 필수 태그를 반환하지만 내부적으로는 Javascript입니다. 구문을 JSX(javascript XML)이라고 합니다. 걱정하지 마세요. 나중에 설명하겠습니다.

// === Reminder ===
JSX is a syntax extension for javascript that lets you write HTML-like markup inside a javascript file which handles the logic of rendering and markup live together in the same place as components.

이제 구성요소를 사용할 준비가 되었습니다. 예를 들어, 제품 페이지가 있고 일부 제품을 렌더링해야 합니다.

//Products.js or jsx file
function ProductCard(){
  return(
      

title of the product

price of the product

description of the product

// rest of info
) } function ProductPage(){ return(

product page

) }

브라우저가 ProductCard를 3번 렌더링한다는 것은 3개의 제품 카드가 브라우저에 표시된다는 의미입니다.

요점은 이 ProductPage 코드를 얻은 후 브라우저가 어떻게 반응할 것인가입니다.
  • 은 소문자이므로 React는 HTML 태그
  • 로 참조된다는 것을 알고 있습니다.
  • 는 대문자 P로 시작하므로 React는 그것이 컴포넌트로 처리될 것임을 알고 있습니다.

지금까지는 그렇게 좋았나요?. 성공적으로 제품 카드를 제품 페이지에 렌더링했습니다.
이제 코드를 정리할 차례입니다:
ProductCard, ProductReviewCard, 유사한ProductCard 등과 같은 구성 요소가 하나 이상 있을 수 있으므로 모든 구성 요소를 하나의 파일에 선언하고 관리하는 것이 번거로울 수 있습니다. 그럼 파일 구조만으로 관리할 수 있도록 좀 더 체계적으로 만들어 보겠습니다.
ProductCard가 여러 페이지에서 사용되었을 수 있으므로 재사용 가능한 폴더를 만들어 보겠습니다. 재사용 가능한 폴더 안에 ProductCard.js/jsx 파일을 만듭니다.

//reusable/ProductCard.js or jsx file
function ProductCard(){
  return(
      

title of the product

price of the product

description of the product

// rest of info
) }

이제 ProductCard 구성 요소를 ProductPage 파일에서 어떻게 사용할 것인지 분리하는 것이 중요합니다. 이미 이해하셨을 수도 있다는 점을 알고 있습니다. ProductCardfile에서 ProductCard 함수를 귀하가 실제로 선호하는 이름 또는 기본값으로 내보낼 수 있습니다.

//reusable/ProductCard.js or jsx file
export default function ProductCard(){
  return(
      

title of the product

price of the product

description of the product

// rest of info
) }

이제 ProductPage 파일에서 사용할 수 있습니다. ProductPage 파일에서 ProductCard를 가져온 다음 원하는 만큼 사용하세요.

//ProductPage.js or jsx file
import ProducrCard from './reusable/ProductCard.js'
function ProductPage(){
  return(
      

product page

) }

앞서 재사용성, 관심 분리, 모듈성을 위해 컴포넌트를 사용해야 하는 이유를 언급했습니다.

  • 이제 ProductCard 구성 요소를 완전히 재사용할 수 있습니다. 어디에서나 사용할 수 있습니다.
  • ProductPage에는 ProductCard,ProductReviewCard,SimilarProductCard,RecommendedProductCard 등과 같은 여러 섹션이 있을 수 있습니다. 구성 요소별로, 섹션별로 별도의 섹션에 초점을 맞춰 코드를 관리하고 유지 관리합니다.
  • UI를 작은 섹션 단위로 분할하면 테스트, 디버깅 및 개발이 더 쉬워집니다. 버그가 발생하면 특정 구성 요소에서 버그/문제를 쉽게 찾을 수 있습니다. 이제 훨씬 더 명확해지기를 바라나요?

이 모든 과정을 거쳐 구성 요소를 중첩할 수도 있다는 것을 이해하게 되었습니다.

그럼 다시 살펴볼까요-?
레이아웃 폴더 생성
Layout 폴더 아래에 Header 폴더를 만든 다음 Header 폴더 안에 index.js 파일을 만듭니다.

export default function Header(){
  return(
      

Header

) }
create `Footer` folder under the `Layout` folder then create `index.js` file inside `Footer` folder
export default function Footer(){
  return(
      

Footer

) }

이제 레이아웃 폴더 아래에 index.js 파일이 생성됩니다.

import Header from './Header';
import Footer from './Footer';
export default function Layout(){
  return(
      

page content

) }

당신이 이미 React 컴포넌트 아키텍처의 아름다움을 발견하셨기를 바랍니다. 이것은 이제 막 시작되었으며 여러분의 마음 속에 관심을 키우려고 노력했습니다.
즐거운 코딩 되셨나요??

릴리스 선언문 이 글은 https://dev.to/hasan_rifat/the-big-picture-of-react-comComponent-1o1m?1에서 복제됩니다.1 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3