Чтобы перейти на другую страницу в Next.js внутри функции, у вас есть несколько способов. Вот несколько вариантов:
- Использование перехватчика
useRouter: Next.js предоставляет встроенный перехватчик под названиемuseRouter, который позволяет программно переходить на разные страницы. Вы можете импортировать его из модуляnext/router, а затем использовать методpushдля перехода к определенному URL-адресу. Вот пример:
import { useRouter } from 'next/router';
function navigateToPage() {
const router = useRouter();
router.push('/other-page');
}
- Использование компонента
Link: Next.js также предоставляет компонентLink, который можно использовать для создания ссылок между страницами. Вы можете импортировать его из модуляnext/link, а затем обернуть свой элемент или компонент компонентомLinkи указать свойствоhrefс помощью URL-адрес назначения. Вот пример:
import Link from 'next/link';
function navigateToPage() {
return (
<Link href="/other-page">
<a>Go to Other Page</a>
</Link>
);
}
- Использование функции
redirectTo. Если вы находитесь внутри маршрута API или функции на стороне сервера, вы можете использовать функциюredirectTo, предоставляемую Next.js. Вы можете импортировать его из пакетаnextи использовать для перенаправления пользователя на другую страницу. Вот пример:
import { redirectTo } from 'next';
export default function handler(req, res) {
// Perform some logic
redirectTo('/other-page', res);
}
Не забудьте заменить /other-pageфактическим URL-адресом или путем к странице, на которую вы хотите перейти.