Задать вопрос
@AstraVlad
Финансист, консультант, программист-любитель

Как правильно хранить стейт и загружать данные в Next.JS?

Начал осваивать Next.JS и понял, что не понимаю как лучше организовывать взаимодействие между компонентами с учётом SSR и server components. Например, есть вот такая простенькая структура:
<Things>
   <ThingsList/>
   <ThingDetails/>
<Things/>


В ThingsList имеем список "штучек", при выборе одной из них в ThingDetails открывается эта "штучка" для просмотра и редактирования. В обычном React я бы постарался вынести стейт по максимуму в Things, сделал бы там подгрузку из базы и хранил бы id выбранной "штучки". Ну и отдавал бы в дочерние компоненты уже готовые данные и всякие setSelectedThingID через пропсы.
<Things>
   <ThingsList items={things} onSelect={setSelectedThingID}/>
   <ThingDetails item={things.get(selectedThingID} onSubmit={onThingDetailsSubmit}/>
<Things/>


Но в Next серверные компоненты не могут использовать хуки и должны быть stateless. Писать везде use client - значит фактически отказываться от преимуществ Next, но как сделать без этого пока не понимаю (ибо тупой :)).

Что считается best practice в этом случае? Как правильно организовать загрузку и передачу данных в таких случаях?
  • Вопрос задан
  • 245 просмотров
Подписаться 2 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽