После добавления "use client" в корневой layout бандл вырос втрое
Разработчику понадобился контекст темы во всём приложении, и он добавил "use client" в начало app/layout.jsx, где объявлены шапка, подвал и провайдеры. Клиентский JS на всех страницах вырос втрое, серверные запросы к базе в шапке перестали работать.
Как правильно подключить клиентский провайдер?
- Вынести провайдер в отдельный клиентский компонент и оборачивать им children в серверном layout
- Оставить "use client" в layout, а шапку сделать ленивой
- Отказаться от контекста и передавать тему пропсами через все компоненты
- Добавить "use server" в каждый компонент, которому нужна база
