> Как работает useState в Next.js и является ли состояние глобальным или локальным для страницы (React, JavaScript, Next.js)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: Библио-Глобус
Стек: React, JavaScript, Next.js
> Пример ответа
useState в Next.js работает точно так же, как в обычном React - это хук для управления локальным состоянием внутри функционального компонента. Состояние, созданное с помощью useState, всегда локально для конкретного экземпляра компонента на странице. Оно не является глобальным и не разделяется между разными страницами или компонентами автоматически.
Например, если вы используете useState внутри компонента Counter и рендерите его на двух разных страницах (/page1 и /page2), каждая страница будет иметь своё независимое состояние счётчика. Переход между страницами (особенно при использовании клиентской навигации через next/link) приведёт к сбросу состояния, так как компонент размонтируется и монтируется заново.
Если требуется глобальное состояние (например, для данных пользователя или корзины), нужно использовать внешние инструменты: React Context, Redux, Zustand или другие библиотеки управления состоянием. В Next.js также можно хранить состояние на сервере (через API или базу данных) или использовать getServerSideProps/getStaticProps для передачи данных на этапе рендеринга.
Важно помнить, что useState работает только на клиенте. Если компонент с useState используется в серверном рендеринге (SSR), он должен быть помечен директивой 'use client' в Next.js 13+ (App Router). В Pages Router это не требуется, но хук всё равно выполняется только на клиенте после гидратации.
> Похожие задачи по frontend
Как работает lazy загрузка в useSWR
Как вызвать useSWR по нажатию на кнопку, чтобы он не вызывался сразу
Будет ли middleware блокировать показ страницы пока useSWR не отработает
Как реализовать обработку ввода пользователя в поисковую строку в Angular с использованием реактивных форм
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью