"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > إتقان توجيه التفاعل: دليل كامل للتنقل في تطبيقك

إتقان توجيه التفاعل: دليل كامل للتنقل في تطبيقك

تم النشر بتاريخ 2024-11-07
تصفح:152

Mastering React Routing: A Complete Guide to Navigating Your Application

1. مقدمة عن جهاز التوجيه React

React Router عبارة عن مكتبة للتعامل مع التوجيه في تطبيقات React. فهو يسمح لتطبيقك بالتنقل بين المكونات وطرق العرض المختلفة دون إعادة تحميل الصفحة بالكامل، مما يجعل تجربة المستخدم سلسة.


2. الإعداد الأساسي

ابدأ بتثبيت React-router-dom:

npm install react-router-dom

إعداد التوجيه الأساسي باستخدام BrowserRouter، والمسارات، والمسار:

import React from 'react';
import { BrowserRouter as Router, Routes, Route, Link } from 'react-router-dom';

const Home = () => 

Home

; const About = () =>

About

; const App = () => { return ( } /> } /> ); }; export default App;

3. التوجيه المتداخل

بالنسبة للتطبيقات الأكثر تعقيدًا، يمكنك تداخل المسارات. فيما يلي كيفية إعداد المسارات المتداخلة في المكون الأصلي:

import React from 'react';
import { BrowserRouter as Router, Routes, Route, Link } from 'react-router-dom';

const Dashboard = () => 

Dashboard Home

; const Profile = () =>

Your Profile

; const DashboardLayout = () => { return (
} /> } />
); }; const App = () => { return ( } /> ); }; export default App;

4. التوجيه الديناميكي

يسمح لك التوجيه الديناميكي بتمرير المعلمات في عنوان URL. فيما يلي كيفية تحديد المسار الديناميكي والوصول إليه:

import { useParams } from 'react-router-dom';

const User = () => {
  const { id } = useParams();
  return 

User ID: {id}

; }; const App = () => { return ( } /> ); }; export default App;

5. الطرق المحمية

لتنفيذ المسارات المحمية، يمكنك إنشاء مكون PrivateRoute مخصص:

import { Navigate, Outlet } from 'react-router-dom';

const useAuth = () => {
  const user = { loggedIn: true }; // Replace with actual auth logic
  return user && user.loggedIn;
};

const PrivateRoute = () => {
  const isAuth = useAuth();
  return isAuth ?  : ;
};

const App = () => {
  return (
    } />
        }>
          } />
        
      
  );
};

export default App;

6. التنقل البرمجي

في بعض الأحيان، قد ترغب في التنقل برمجيًا، مثل بعد إرسال النموذج. استخدم ربط useNavigate في React Router v6:

import { useNavigate } from 'react-router-dom';

const Login = () => {
  const navigate = useNavigate();

  const handleLogin = () => {
    // Login logic here...
    navigate('/dashboard');
  };

  return (
    

Login

); }; export default Login;

7. 404 صفحة

تعامل مع أخطاء 404 (لم يتم العثور عليها) عن طريق إنشاء مسار شامل:

const NotFound = () => 

404 - Page Not Found

; const App = () => { return ( } /> } /> } /> ); }; export default App;

8. اعتبارات الأداء

بالنسبة للتطبيقات الكبيرة، يمكن أن تعمل مسارات التحميل البطيئة على تحسين الأداء. إليك كيفية تنفيذ التحميل البطيء باستخدام React.lazy() وSuspense:

import React, { Suspense, lazy } from 'react';
import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';

const Home = lazy(() => import('./Home'));
const About = lazy(() => import('./About'));

const App = () => {
  return (
    Loading...}>
        } />
          } />
        
  );
};

export default App;

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/mourya_modugula/mastering-react-routing-a-complete-guide-to-navigating-your-application-56dk?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ Study_golang@163 .com لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3