برنامه نویسی

کاربر در Next.js – جامعه dev

در useRouter قلاب در Next.js است که ناوبری برنامه ای و دسترسی به داده های مسیر فعلی را ارائه می دهد. تماس با قلاب یک شی را برمی گرداند. از شیء می توانید به آن دسترسی پیدا کنید

  • نام مسیر فعلی (نام مسیر)
  • پارامتر پرس و جو (پرس و جو)
  • با فشار ، جایگزینی و سایر روشها قادر به حرکت بین صفحات/مؤلفه ها است
  • می تواند تاریخچه مرورگر را با استفاده از پشت ، بارگیری مجدد و سایر روش ها کنترل کند.

👉 نحوه استفاده useRouter قلاب

ابتدا از بسته های صحیح وارد کنید.

import { useRouter } from 'next/navigation'
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

NB: بعدی/روتر در Next.js 15 کاهش می یابد.
پس از useRouter قلاب سمت مشتری است ، شما باید از آن استفاده کنید "use client" در بالای پرونده.


useRouter هوک یک شیء را برمی گرداند

  • push
  • back
  • forward
  • refresh
  • replace
  • prefetch وت
  • hmrRefresh روشها بیایید یکی یکی را توصیف کنیم.

👉 push

از آن برای پیمایش مسیرهای جدید به صورت برنامه ای استفاده می شود. این یک تاریخچه جدید مرورگر را به پشته اضافه می کند. نحو آن است router.push(href, options?)بشر ارائه گزینه اجباری نیست.
NB: برای دانستن بیشتر در مورد optoins مقاله را بخوانید غرفه های لینک مشابه گزینه ها هستند
درباره گزینه یا بیشتر بدانید Link غرفه


"use client";
import { useRouter } from "next/navigation";
const AboutPage = () => {
  const router = useRouter();
  const aboutRouteHandler = () => {
    router.push("https://dev.to/about");
  }
  const contactRouteHandler = () => {
    router.push('/contactus', {scroll: false});
  }
  return (
    

{/* Without option */}

{/* With option */}

); }; export default AboutPage;
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

کاربران می توانند در صفحه جدید حرکت کنند و گزینه ای را برای بازگشت به صفحه قبلی نگه دارند.


👉 replace

این ورودی تاریخ فعلی را به روز می کند و ورودی قبلی را حذف می کند. نحو: router.replace(href, options?)

"use client";
import { useRouter } from "next/navigation";
const AboutPage = () => {
  const router = useRouter();
  const aboutRouteHandler = () => {
    router.replace("https://dev.to/about");
  }
  const contactRouteHandler = () => {
    router.replace('/contactus', {scroll: false});
  }
  return (
    

{/* Without option */}

{/* With option */}

); }; export default AboutPage;
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

برای استفاده replace روش ، کاربران قادر به بازگشت به صفحه قبلی نیستند.

-جایی که برای استفاده:-
پس از ورود به سیستم ، کاربران ارسال فرم به صفحه دیگری هدایت می شوند. و بازگشت به ورود به سیستم ، صفحه فرم معنی ندارد.


👉 refresh

refresh صفحه فعلی بدون تأثیرگذاری بر تاریخ مرور. از آن برای به روزرسانی و بازتاب آخرین حالت استفاده می شود. این داده ها و مؤلفه سرور را دوباره به دست آورد. نحو: router.refresh()

"use client";
import { useRouter } from "next/navigation";
const AboutPage = () => {
  const router = useRouter();

  const aboutRouteHandler = () => {
    router.refresh();
  }
  return (
    

{/* Without option */}

); }; export default AboutPage;
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


👉 prefetch

prefetch JS ، داده ها و بخش های ذخیره شده برای مسیرهای خاص. به طوری که ، برای کلیک بعدی ، صفحه بلافاصله بارگیری می شود. نحو: router.prefetch(href)

'use client';
import { useEffect } from 'react';
import { useRouter } from 'next/navigation';

export default function AboutPage() {
  const router = useRouter();

  useEffect(() => {
    // যখন AboutPage কম্পোনেন্ট মাউন্ট হবে তখনই প্রিফেচ
    router.prefetch('/contactus');
    router.prefetch("https://dev.to/help");
  }, [router]);

  const handleGo = (path) => {
    router.push(path);
  };

  return (
    

); }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این صفحات هنگام استفاده از قبل بارگذاری می شوند useEffect()بشر

_یا می توانیم ترکیب کنیم push وت prefetch در کل

'use client';
import { useRouter } from 'next/navigation';

export default function AboutPage() {
  const router = useRouter();

  const handleMouseEnter = () => {
    router.prefetch('/contactus');   // Contactus
  };

  const handleClick = () => {
    router.push('/contactus');       /
  };

  return (
    

); }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

هنگامی که ماوس وارد دکمه می شود ، مؤلفه در پس زمینه بارگیری می شود. برای push کاربر روش بلافاصله به صفحه هدایت شد.


👉 back

back روش به کاربران اجازه می دهد تا یک قدم در تاریخ به عقب برگردند.

"use client";
import { useRouter } from "next/navigation";
const AboutPage = () => {
  const router = useRouter();

  const returnPageHandler = () => {
    router.back();
  }
  return (
    
  );
};
export default AboutPage;
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


👉 forward

forward به همان روش کار می کند back روش اما یک قدم به جلو از تاریخ می رود.

"use client";
import { useRouter } from "next/navigation";
const AboutPage = () => {
  const router = useRouter();

  const nextPageHandler = () => {
    router.forward();
  }
  return (
    
  );
};
export default AboutPage;
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


👉 hmrRefresh()

این فقط در حالت توسعه کار می کند. بدون بارگذاری مجدد صفحه به طور کامل ، داده های صفحه را تازه می کند.


نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا