> 웹 프론트엔드 > 프런트엔드 Q&A > React에서 데이터 목록을 어떻게 렌더링합니까?

React에서 데이터 목록을 어떻게 렌더링합니까?

Emily Anne Brown
풀어 주다: 2025-03-20 14:45:33
원래의
309명이 탐색했습니다.

React에서 데이터 목록을 어떻게 렌더링합니까?

RECT의 데이터 목록 렌더링에는 데이터 배열을 반복하고 map 함수를 사용하여 React 요소 목록을 생성하는 것이 포함됩니다. 다음은 항목 목록을 렌더링하는 방법의 예입니다.

 <code class="jsx">const items = [ { id: 1, name: 'Item 1' }, { id: 2, name: 'Item 2' }, { id: 3, name: 'Item 3' }, ]; function ListComponent() { return ( <ul> {items.map((item) => ( <li key="{item.id}">{item.name}</li> ))} </ul> ); }</code>
로그인 후 복사

이 예에서 map 함수는 items 배열을 반복하는 데 사용되며 각 항목에 대해 목록 항목 ( <li> )이 작성됩니다. key 소품은 변경, 추가 또는 제거 된 항목을 식별하는 데 도움이되므로 필수적입니다.

React에서 목록을 렌더링 할 때 키를 사용하기위한 모범 사례는 무엇입니까?

렌더링이 React에서 목록을 작성할 때 키를 사용하는 것은 성능과 적절한 조정에 중요합니다. 키 사용을위한 몇 가지 모범 사례는 다음과 같습니다.

    <li> 독창성 : 열쇠가 목록의 형제 내에서 독특한 지 확인하십시오. 이를 달성하는 가장 좋은 방법은 데이터베이스의 ID 필드와 같은 데이터의 고유 식별자를 사용하는 것입니다. <li> 안정성 : 앱이 실행될 때 키는 안정적으로 유지되며 변경되지 않아야합니다. 항목을 삽입하거나 삭제하면 인덱스를 이동할 수 있으므로 어레이의 인덱스를 키로 사용하지 않으므로 불필요한 재 렌즈가 발생할 수 있습니다. <li> 데이터와의 관련성 : 키는 렌더링하는 데이터와 밀접한 관련이 있어야합니다. 예를 들어, 목록이 사용자 데이터로 구성된 경우 사용자의 ID를 키로 사용하는 것이 임의의 숫자를 사용하는 것보다 더 적절합니다. <li> 일반 키를 피하십시오 : Math.random() 또는 Date.now() 와 같은 일반 키를 사용하지 마십시오. 이로 인해 화해 및 성능 문제가 발생할 수 있습니다.

다음은 올바른 주요 사용법의 예입니다.

 <code class="jsx">const users = [ { id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }, ]; function UserList() { return ( <ul> {users.map((user) => ( <li key="{user.id}">{user.name}</li> ))} </ul> ); }</code>
로그인 후 복사

React에서 목록 렌더링의 성능을 어떻게 최적화 할 수 있습니까?

React에서 목록 렌더링의 성능을 최적화하는 것은 여러 기술을 통해 달성 될 수 있습니다.

    <li>

    Memoization : React.memo 또는 useMemo 사용하여 불필요한 목록 항목을 방지합니다. React.memo 는 기능성 구성 요소에 유용하며 useMemo 값 비싼 계산을 최적화하는 데 사용할 수 있습니다.

     <code class="jsx">import React from 'react'; const Item = React.memo(function Item({ name }) { return <li>{name}</li>; }); function ListComponent({ items }) { return ( <ul> {items.map((item) => ( <item key="{item.id}" name="{item.name}"></item> ))} </ul> ); }</code>
    로그인 후 복사
    <li> 가상화 : 대형 목록을 다룰 때 react-window 또는 react-virtualized 와 같은 가상화 라이브러리를 사용하는 것을 고려하십시오. 이 라이브러리는 목록의 가시 항목 만 렌더링하여 성능을 크게 향상시킵니다. <li> 깊은 둥지를 피하십시오 : 목록 항목 구성 요소를 가능한 한 간단하게 유지하십시오. 목록 항목 내에서 깊게 중첩 된 구성 요소를 피하면 다시 렌더링 시간이 증가 할 수 있습니다. <li> 배치 업데이트 : unstable_batchedUpdates 를 사용하여 Reactdom에서 여러 상태 업데이트를 배치하여 재 렌즈 수를 줄임으로써 성능을 향상시킬 수 있습니다. <li> 효율적인 목록 작업 사용 : 목록을 업데이트 할 때 filter 또는 splice 보다 map 과 같은 작업을 선호하거나 원래 배열을 돌리는 것을 피하기 위해 push 불필요한 재 렌즈로 이어질 수 있습니다.

Rect에서 목록을 렌더링 할 때 어떤 일반적인 실수를 피해야합니까?

Rendering이 React에서 목록을 작성할 때 오류 또는 성능 문제로 이어질 수있는 일반적인 함정을 피하는 것이 중요합니다.

    <li> 키를 사용하지 않음 : 가장 일반적인 실수 중 하나는 목록 항목과 함께 키를 사용하지 않는 것입니다. 키가 없으면 React는 변경된 항목을 식별하는 데 어려움이있을 수 있으며 업데이트가 잘못되고 성능이 저하됩니다. <li> 배열 인덱스를 키로 사용하십시오 : 배열 인덱스를 키로 사용하면 목록 순서가 변경 될 때 문제가 발생하여 불필요한 재 렌즈와 잠재적 상태 불일치가 발생할 수 있습니다. 대신 고유하고 안정적인 식별자를 사용하십시오. <li>

    원래 배열을 돌리는 : 원래 배열을 직접 돌출하면 예상치 못한 동작과 버그가 발생할 수 있습니다. 상태를 업데이트 할 때 항상 새 배열을 만듭니다.

     <code class="jsx">// Incorrect: Mutating the original array const items = [{ id: 1, name: 'Item 1' }]; items.push({ id: 2, name: 'Item 2' }); // Correct: Creating a new array const items = [{ id: 1, name: 'Item 1' }]; const newItems = [...items, { id: 2, name: 'Item 2' }];</code>
    로그인 후 복사
    <li> 복잡한 구성 요소 오버 렌더링 : 필요하지 않은 경우 복잡한 논리 또는 중첩 구성 요소를 목록 항목 내부에 배치하지 마십시오. 목록의 모든 변경으로 인해 전체 구성 요소 트리가 다시 렌더링되므로 성능 문제로 이어질 수 있습니다. <li> 큰 목록의 가상화를 무시합니다. 매우 큰 목록의 경우 가상화를 사용하지 않으면 성능이 저하 될 수 있습니다. react-window 와 같은 라이브러리를 사용하여 목록의 가시 부분 만 렌더링하십시오.

이러한 일반적인 실수를 피함으로써 React의 목록 렌더링이 효율적이고 오류가 없는지 확인할 수 있습니다.

위 내용은 React에서 데이터 목록을 어떻게 렌더링합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿