Wzorce projektowe · Middle · Pytanie 11 z 75

Jak wyrenderować drzewo komentarzy dowolnej głębokości?

function Comment({ comment }) {
  return (
    <li>
      {comment.text}
      {comment.replies.length > 0 && (
        <ul>{comment.replies.map(r => <Comment key={r.id} comment={r} />)}</ul>
      )}
    </li>
  );
}

Wyjaśnienie

Węzły i liście obsługuje się tak samo, więc komponent wywołuje sam siebie dla dzieci. Dla bardzo głębokich lub dużych drzew dodaj wirtualizację lub „Pokaż więcej”, a dane przechowuj znormalizowane.

Do poczytania

Błąd w pytaniu

Wzorce projektowe · Middle · pytanie 11

Sprawdź się

Rozwiąż test Wzorce projektowe · Middle: pytania i odpowiedzi są tasowane, a na końcu czeka przegląd błędów.

Rozwiąż ten test