На каком этапе React очищает память от memo?

React очищает память от memo на этапе навигации по иерархии компонентов при помощи механизма под названием "garbage collection" или сборки мусора. Когда компонент, обернутый в функцию React.memo(), перестает быть отображаемым на странице или он больше не нужен для рендеринга, React начинает процесс очистки памяти, чтобы отметить его как ненужный и освободить занимаемые им ресурсы. React ... Читать далее

React. Нормальная ли практика выносить картинки за пределы src в папку public?

Да, способ вынесения картинок за пределы директории src в React-приложениях и использование их из папки public является допустимой и даже нормальной практикой. Основная идея размещения файлов (например, картинок) в папке public вместо src заключается в том, что файлы, находящиеся в public, будут доступны напрямую из корня вашего веб-сайта. Это подходит, если ваши файлы (картинки, шрифты ... Читать далее

Как добавить eslint в vite Could not find a declaration file?

Конечно, вам нужно убедиться, что у вас установлен Eslint и вам нужно добавить файл настроек Eslint в ваш проект, если вы этого еще не сделали. Во-первых, установите Eslint в свой проект, если он еще не установлен, выполнив команду: npm install eslint --save-dev Затем установите Eslint Vite plugin, который позволит использовать Eslint с Vite: npm install ... Читать далее

Почему на iPhone в PWA React app при клике на ссылку не срабатывает переход?

Проблема с некорректным срабатыванием перехода по ссылке в React PWA приложении на iPhone может быть вызвана несколькими факторами. Вот несколько возможных причин и способы их решения: 1. **Mobile Safari iOS restrictions (Ограничения в Mobile Safari iOS)**: Mobile Safari на iOS имеет определенные ограничения для PWA приложений, связанные с обработкой событий нажатия. Например, iOS может блокировать ... Читать далее

Как переходить по SSR страницам Next.js как в SPA?

Для того чтобы реализовать переход между страницами в Next.js с использованием серверного рендеринга (SSR) так, чтобы это работало аналогично переходам в одностраничном приложении (SPA), следует использовать модуль next/link вместе с компонентом Link. 1. Установите Next.js и создайте новый проект с помощью шаблона: npx create-next-app my-app 2. Внутри директории вашего проекта откройте файл pages/index.js и редактируйте ... Читать далее

Почему не происходит ререндер мемоизированного компонента при наличии в нем переменной с данными без useMemo?

React предоставляет два основных механизма для оптимизации ререндеринга компонентов: мемоизация с использованием useMemo и React.memo для функциональных компонентов, а также shouldComponentUpdate для классовых компонентов. Компоненты в React ререндерятся, когда происходят изменения в их пропсах или состоянии. Если компонент использует переменную с данными без использования useMemo, React будет предполагать, что эта переменная может измениться из-за внешних ... Читать далее

Как правильно написать бэкенд для проксирования fetch запросов на сервисе https://timeweb.cloud/?

Для проксирования Fetch-запросов на сервисе https://timeweb.cloud/ можно использовать различные подходы и инструменты в зависимости от требований и предпочтений разработчика. В данном ответе я рассмотрю один из подходов, который использует Node.js и Express.js для написания бэкенда. Шаг 1: Установка зависимостей Первым делом установите Node.js на ваш компьютер, если его еще нет. Затем создайте новую папку для ... Читать далее

Почему vite не видит существующие *.module.scss?

Vite – это новый инструмент для разработки веб-приложений на основе JavaScript и TypeScript. Он обеспечивает быструю сборку проекта и горячую перезагрузку для более быстрой разработки. Vite в основном направлен на проекты, основанные на инструменте Vue.js, но он также может использоваться для проектов на React. Возможно, у вас возникли проблемы с импортом файлов стилей в формате ... Читать далее

Как в react-router установить дефолтное отображение Outlet?

В React Router дефолтное отображение Outlet может быть реализовано использованием компонента Switch в сочетании с компонентом Route. Для установки дефолтного отображения Outlet необходимо разместить компонент Route без указания пути в Switch. Все остальные компоненты Route, с указанными путями, должны быть размещены после компонента Route с дефолтным отображением. Вот пример, как можно установить дефолтное отображение Outlet ... Читать далее

Нормально если первый стейт менеджер для react который я буду учить — будет mobx, а не Redux?

Конечно, это абсолютно нормально, если вы выберете MobX в качестве первого стейт-менеджера для изучения React, вместо Redux. MobX и Redux являются двумя популярными инструментами для управления состоянием в React приложениях, и оба имеют свои преимущества и недостатки. Основное отличие между MobX и Redux заключается в их подходе к управлению состоянием. MobX подходит для тех, кто ... Читать далее