gunakanNavigate Hook dalam React
Kait useNavigate ialah sebahagian daripada Penghala Reaksi (v6 dan ke atas) dan digunakan untuk menavigasi secara pemrograman antara laluan berbeza dalam aplikasi anda. Tidak seperti navigasi tradisional (cth., mengklik pada pautan), cangkuk useNavigate membolehkan anda menavigasi secara dinamik berdasarkan tindakan pengguna, seperti penyerahan borang, klik butang atau perubahan keadaan.
Cakuk ini menggantikan cangkuk useHistory yang lebih lama daripada React Router v5 dan menjadikannya lebih mudah untuk mengendalikan navigasi dalam komponen berfungsi.
Cara useNavigate Berfungsi
Kait useNavigate mengembalikan fungsi yang boleh digunakan untuk menavigasi secara atur cara ke laluan tertentu. Anda boleh melepasi laluan atau objek lokasi ke fungsi ini dan ia akan melakukan navigasi dengan sewajarnya.
Sintaks:
const navigate = useNavigate();
Parameter:
- laluan (rentetan): Laluan untuk menavigasi ke (cth., "/home", "/profile/:id").
-
pilihan (pilihan, objek):
- ganti: Boolean yang menentukan sama ada navigasi harus menggantikan entri sejarah semasa (lalai adalah palsu).
- negeri: Keadaan pilihan yang boleh anda lalui ke laluan baharu. Ini boleh berguna untuk menghantar maklumat ke laluan destinasi.
Penggunaan Biasa:
- Navigasi ke laluan lain.
- Ganti entri sejarah semasa (tiada tindakan belakang).
- Lewati negeri tambahan ke laluan destinasi.
Contoh: Navigasi Asas dengan useNavigate
Berikut ialah contoh mudah tentang cara anda boleh menggunakan cangkuk useNavigate untuk menavigasi secara pengaturcaraan apabila pengguna mengklik butang.
import React from 'react'; import { useNavigate } from 'react-router-dom'; const Home = () => { const navigate = useNavigate(); const goToProfile = () => { // Navigate to the profile page navigate('/profile'); }; return ( <div> <h2 id="Home-Page">Home Page</h2> <button onclick="{goToProfile}">Go to Profile</button> </div> ); }; export default Home;
Penjelasan:
- Kait useNavigate digunakan untuk mendapatkan fungsi navigasi.
- Apabila butang diklik, fungsi goToProfile dipanggil, yang menggunakan navigasi('/profile') untuk menavigasi secara atur cara ke laluan /profile.
Contoh: Navigasi dengan Parameter Dinamik
Anda juga boleh menggunakan useNavigate untuk menavigasi ke laluan dinamik, di mana anda melepasi parameter.
const navigate = useNavigate();
Penjelasan:
- Navigasi(/user/${userId}) secara dinamik menjana URL berdasarkan parameter userId.
- Mengklik butang untuk Pengguna 1 atau Pengguna 2 akan menavigasi ke /user/1 atau /user/2.
Contoh: Gantikan Entri Sejarah dengan Pilihan ganti
Apabila menavigasi, anda boleh menggunakan pilihan ganti untuk menggantikan entri semasa dalam timbunan sejarah dan bukannya menolak yang baharu. Ini bermakna apabila pengguna mengklik butang "kembali" penyemak imbas, mereka tidak akan kembali ke laluan sebelumnya.
import React from 'react'; import { useNavigate } from 'react-router-dom'; const Home = () => { const navigate = useNavigate(); const goToProfile = () => { // Navigate to the profile page navigate('/profile'); }; return ( <div> <h2 id="Home-Page">Home Page</h2> <button onclick="{goToProfile}">Go to Profile</button> </div> ); }; export default Home;
Penjelasan:
- Navigasi('/terima kasih', { replace: true }) akan menavigasi ke laluan /terima kasih dan menggantikan entri semasa dalam timbunan sejarah, bermakna pengguna tidak boleh kembali ke halaman penyerahan borang menggunakan butang "kembali".
Contoh: Melepasi Negeri dengan Navigasi
Anda boleh melepasi keadaan tambahan bersama-sama dengan navigasi, yang kemudiannya boleh diakses pada laluan sasaran menggunakan useLocation.
import React from 'react'; import { useNavigate } from 'react-router-dom'; const UserList = () => { const navigate = useNavigate(); const goToUserProfile = (userId) => { // Navigate to the profile of a specific user by ID navigate(`/user/${userId}`); }; return ( <div> <h2 id="User-List">User List</h2> <button onclick="{()"> goToUserProfile(1)}>Go to User 1's Profile</button> <button onclick="{()"> goToUserProfile(2)}>Go to User 2's Profile</button> </div> ); }; export default UserList;
Pada laluan /settings, anda boleh mengakses keadaan yang diluluskan seperti ini:
import React from 'react'; import { useNavigate } from 'react-router-dom'; const SubmitForm = () => { const navigate = useNavigate(); const handleSubmit = () => { // Perform form submission logic // Then navigate to a "Thank You" page, replacing the current entry in history navigate('/thank-you', { replace: true }); }; return ( <div> <h2 id="Submit-Form">Submit Form</h2> <button onclick="{handleSubmit}">Submit</button> </div> ); }; export default SubmitForm;
Penjelasan:
- Navigasi('/settings', { state: { userId: 123, userName: 'John Doe' } }) melepasi objek sebagai keadaan.
- Dalam komponen /settings, kami menggunakan useLocation untuk mengakses keadaan yang diluluskan, yang termasuk userId dan UserName.
Kes Penggunaan Biasa untuk useNavigate
Ubah hala Selepas Penyerahan Borang:
Selepas menyerahkan borang (cth., pendaftaran pengguna), anda boleh mengubah hala pengguna ke halaman kejayaan atau log masuk.Navigasi Bersyarat:
Berdasarkan tindakan atau syarat pengguna (seperti pengesahan), anda boleh menavigasi ke laluan berbeza secara dinamik.Penghalaan Programatik:
Anda boleh menavigasi secara pengaturcaraan berdasarkan logik tersuai, seperti apabila tindakan selesai atau peristiwa dicetuskan.Menavigasi Selepas Panggilan API Berjaya:
Selepas panggilan API berjaya (cth., log masuk), anda boleh mengubah hala pengguna ke halaman profil atau papan pemuka mereka.
Kesimpulan
Kait useNavigate dalam React Router ialah alat yang berkuasa untuk mengendalikan navigasi program dalam komponen berfungsi. Ia membolehkan anda menavigasi ke laluan berbeza secara dinamik berdasarkan tindakan pengguna atau keadaan aplikasi. Dengan pilihan seperti ganti dan keupayaan untuk melepasi keadaan, useNavigate menyediakan fleksibiliti untuk mengawal tingkah laku navigasi dalam aplikasi React.
Atas ialah kandungan terperinci Menguasai Navigasi dalam React dengan useNavigate Hook. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Penjelasan terperinci mengenai kaedah penggantian rentetan javascript dan Soalan Lazim Artikel ini akan meneroka dua cara untuk menggantikan watak rentetan dalam JavaScript: Kod JavaScript dalaman dan HTML dalaman untuk laman web. Ganti rentetan di dalam kod JavaScript Cara yang paling langsung ialah menggunakan kaedah pengganti (): str = str.replace ("cari", "ganti"); Kaedah ini hanya menggantikan perlawanan pertama. Untuk menggantikan semua perlawanan, gunakan ungkapan biasa dan tambahkan bendera global g: str = str.replace (/fi

Jadi di sini anda, bersedia untuk mempelajari semua perkara ini yang dipanggil Ajax. Tetapi, apa sebenarnya? Istilah Ajax merujuk kepada kumpulan teknologi longgar yang digunakan untuk membuat kandungan web yang dinamik dan interaktif. Istilah Ajax, yang asalnya dicipta oleh Jesse J

Artikel membincangkan membuat, menerbitkan, dan mengekalkan perpustakaan JavaScript, memberi tumpuan kepada perancangan, pembangunan, ujian, dokumentasi, dan strategi promosi.

Artikel ini membincangkan strategi untuk mengoptimumkan prestasi JavaScript dalam pelayar, memberi tumpuan kepada mengurangkan masa pelaksanaan dan meminimumkan kesan pada kelajuan beban halaman.

Artikel ini membincangkan debugging JavaScript yang berkesan menggunakan alat pemaju pelayar, memberi tumpuan kepada menetapkan titik putus, menggunakan konsol, dan menganalisis prestasi.

Artikel ini akan membimbing anda untuk membuat karusel gambar mudah menggunakan perpustakaan jQuery. Kami akan menggunakan perpustakaan BXSlider, yang dibina di atas jQuery dan menyediakan banyak pilihan konfigurasi untuk menubuhkan karusel. Pada masa kini, Gambar Carousel telah menjadi ciri yang mesti ada di laman web - satu gambar lebih baik daripada seribu perkataan! Selepas membuat keputusan untuk menggunakan karusel gambar, soalan seterusnya adalah bagaimana untuk menciptanya. Pertama, anda perlu mengumpul gambar-gambar resolusi tinggi yang berkualiti tinggi. Seterusnya, anda perlu membuat karusel gambar menggunakan HTML dan beberapa kod JavaScript. Terdapat banyak perpustakaan di web yang dapat membantu anda membuat karusel dengan cara yang berbeza. Kami akan menggunakan Perpustakaan BXSlider Sumber Terbuka. Perpustakaan BXSlider menyokong reka bentuk responsif, jadi karusel yang dibina dengan perpustakaan ini dapat disesuaikan dengan mana -mana

Bawa kesan filem matriks ke halaman anda! Ini adalah plugin jQuery yang sejuk berdasarkan filem terkenal "The Matrix". Plugin mensimulasikan kesan aksara hijau klasik dalam filem, dan hanya pilih gambar dan plugin akan mengubahnya menjadi gambar gaya matriks yang diisi dengan aksara angka. Datang dan cuba, sangat menarik! Bagaimana ia berfungsi Plugin memuat imej ke kanvas dan membaca nilai piksel dan warna: data = ctx.getimagedata (x, y, settings.grainsize, settings.grainsize) .data Plugin dengan bijak membaca kawasan segi empat tepat gambar dan menggunakan jQuery untuk mengira warna purata setiap kawasan. Kemudian, gunakan

Artikel ini menerangkan cara menggunakan peta sumber untuk debug JavaScript minifikasi dengan memetakannya kembali ke kod asal. Ia membincangkan membolehkan peta sumber, menetapkan titik putus, dan menggunakan alat seperti Chrome Devtools dan Webpack.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

mPDF
mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),