Student-Labs-2023 / network-class-frontend

2 stars 0 forks source link

Мемоизация #24

Open VetDeveloper opened 11 months ago

VetDeveloper commented 11 months ago

Наткнулся на хороший момент:

image

Конечно, в этом компоненте значения rooms захардкожены, но они вполне могут идти из БД (тут вы несомненно будет юзать useEffect в фетче данных, думаю :) ).

Небольшой ререндер этого компонента (или компонента выше по дом дереву) приведет к очередной фильтрации комнат. А зачем? Мы же уже имели результат! А если там будет не 13 комнат, а 1113 или 11111113? Времени должно быть жалко. Поэтому ресурсоемкие вычисления лучше мемоизировать. В реакте есть клевые штуки: useCallbackи useMemo. Стоит лишь прочесть про них.

Еще есть в реакте штука для обработки загрузки: https://react.dev/reference/react/Suspense

Старайтесь замечать подобные паттерны и применять готовые инструменты.

Emil307 commented 11 months ago

с useMemo не приходилось сталкиваться, буду исправлять данную ситуацию)) Но этого компонента уже не существует:)))

BodySites commented 11 months ago

мне пока не приходилось кешировать данные в данном проекте, но в целом я уже использовал данный хук