React · Senior · Запитання 53 з 75
Чому цей компонент назавжди призупиняється (або нескінченно перезапитує)?
function Profile({ id }) {
const user = use(fetch(`/api/users/${id}`).then((r) => r.json()));
return <h1>{user.name}</h1>;
}- ✓Правильна відповідь: На кожному рендері створюється новий проміс;
useпотрібен закешований/стабільний проміс (від фреймворку, кешу чи батька) - 2
useне можна викликати в клієнтських компонентах - 3
fetchне можна використовувати всерединіuse
Пояснення
Після призупинення React наново рендерить компонент, і той створює ще один проміс. Передавайте проміс із Server Component, бібліотеки даних або кешу за ключем id.