일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 헤이큐
- 미니마카
- 영어시간읽기
- 비슬론지퍼
- 미국영어연음
- MERN스택
- 우레탄지퍼
- 핸드캐리쿠리어차이점
- 클린코드
- WHATTIMEOFTHEDAY
- AATCC
- 엑셀드래그단축키
- 와끼
- 슈퍼코딩
- 자켓실측
- 요척합의
- Armhole Drop
- 비리짐
- 나일론지퍼
- 웹API
- 봉제용어
- 고급영어단어
- TACKING
- 40HQ컨테이너40GP컨테이너차이
- 엑셀필터복사붙여넣기
- 40HQ컨테이너
- 지연환가료
- 엑셀자동서식
- 필터링후복사붙여넣기
- 암홀트롭
- Today
- Total
CASSIE'S BLOG
효과적인 렌더링 관리 (useEffect) & 최하위 컴포넌트인지 알아보는법 본문
효과적인 렌더링 관리 (useEffect): useEffect 훅을 사용하여 컴포넌트가 처음 렌더링될 때 한 번만 실행되도록 설정되어 있습니다.
상품 목록을 나타내는 src/component/organisms/ProductGrid.jsx
import ProductCard from "../molecules/ProductCard";
import React, { useState, useEffect} from 'react';
import axios from 'axios';
// import fImage from "../../img/images/1.jpg";
import '../../../src/styles/organisms/ProductGrid.css'
// import Loding from "../component/atoms/Loader";
/**
* @param {object} productsData - products
*/
const ProductGrid = ({ productsData }) => {
const [products, setProducts] = useState([]);
useEffect(() => {
setProducts(productsData.data.response);
}, []);
return (
<div className="product-grid">
{
products? products.map((product) => (
<ProductCard key={product.id} product={product} />
)): null}
</div>
);
};
export default ProductGrid;
최하위요소:
그니까 부모요소로부터 props를 가져오는거 아닌데 이 전체 로직에서 또 props를 안 넘기잖아 그러면 제일 자식 요소라는거지?
네, 맞습니다. ProductCard 컴포넌트에서 별도로 다른 자식 컴포넌트를 포함하거나 그에 따른 props를 전달하지 않고, styled-components로 스타일링된 요소들을 직접 사용하면서 외부에서 전달받은 props만 사용한다면, 해당 ProductCard 컴포넌트가 최하위(가장 작은) 요소라고 볼 수 있습니다.
즉, 이 컴포넌트는 외부에서 주어진 props를 사용하여 스타일링된 구조를 렌더링하는 역할을 수행하고, 그 안에서 더 내부에 있는 자식 컴포넌트를 렌더링하거나 그에 따른 props를 관리하지 않습니다. 따라서 해당 코드에서 ProductCard는 최하위 요소로 간주할 수 있습니다.
'PROGRAMMING > React' 카테고리의 다른 글
align-items 속성은 부모에게 줘야한다. (0) | 2023.12.21 |
---|---|
spread 연산자 = 전개연산자 (0) | 2023.12.20 |
@reduxjs/toolkit- Redux 사용 편리하게 만드는 공식 라이브러리 (1) | 2023.12.18 |
npm install (0) | 2023.12.17 |
map함수의 각각의 배열 요소를 뜻하는 element (1) | 2023.12.12 |