Приложение на Next.js отрендерено на сервере. На клиенте после загрузки React «гидратирует» DOM. Вы замечаете ошибку:
“Warning: Text content did not match. Server: ‘100’ Client: ‘101’”.
Что это означает
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚5💯3
🧩 Скрытый баг в списке
На тесте замечено:
— При удалении элемента данные «съезжают» — значения в инпутах не совпадают с
— Иногда при редактировании одного поля меняется значение в другом.
❓ В чём настоящая проблема? Отвечайте правильным эмодзи👋
🐸 Библиотека фронтендера
#междусобойчик
{items.map((item, index) => (
<input
key={index}
defaultValue={item.name}
/>
))}
На тесте замечено:
— При удалении элемента данные «съезжают» — значения в инпутах не совпадают с
item.name.
— Иногда при редактировании одного поля меняется значение в другом.
❓ В чём настоящая проблема? Отвечайте правильным эмодзи
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥81🥱10❤2🤩2🌚2
🧩 Ловушка оптимизации
На тесте заметили:
— При 3000 заказах список подлагивает, даже после добавления виртуализации.
— Профайлер показывает сотни повторных ререндеров OrderCard, хотя данные не меняются.
❓ В чём настоящая проблема? Отмечайте правильный эмодзи 👋
🐸 Библиотека фронтендера
#междусобойчик
{orders.map(order => (
<OrderCard key={order.id} data={order} />
))}
На тесте заметили:
— При 3000 заказах список подлагивает, даже после добавления виртуализации.
— Профайлер показывает сотни повторных ререндеров OrderCard, хотя данные не меняются.
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥49🌚25🤩7❤4💯1
🗿 Незаметные ререндеры
— Даже если filters не меняются, при любом апдейте родителя все Item снова ререндерятся.
❓ Почему так происходит?
🐸 Библиотека фронтендера
#междусобойчик
const FiltersContext = createContext({ filters: {} });
function App({ filters, items }) {
return (
<FiltersContext.Provider value={{ filters }}>
{items.map(i => <Item key={i.id} />)}
</FiltersContext.Provider>
);
}
— Даже если filters не меняются, при любом апдейте родителя все Item снова ререндерятся.
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚19❤2🔥1