С 13й версии nextjs при использовании
app роутинга компоненты по-умолчанию пытаются отрендериться на сервере, но для компонентов, которые требуют интерактивности на клиенте (например, компоненты с состоянием, кнопки, любые компоненты требующие браузерный api и т.д.) нужно добавлять директиву 'use client' в начале файла компонента, чтобы next понимал, что рендерить его надо на клиенте.
Т.е. в вашем случае, компонент, который будет использовать
useState, нужно выделить в отдельный файл и вверху файла добавить
'use client'.
Ну и желательно почитать про это все
тут вначале, либо использовать папку
pages по старинке.