Методы навигации между файлами в React.js

Для навигации между файлами в React.js вы можете использовать различные методы в зависимости от конкретного сценария и требований вашего приложения. Вот некоторые часто используемые подходы:

  1. React Router: React Router — популярная библиотека для управления маршрутизацией в приложениях React.js. Он позволяет определять маршруты, сопоставлять их с конкретными компонентами и перемещаться между ними, используя декларативный синтаксис. React Router предоставляет такие функции, как вложенные маршруты, параметры маршрута и параметры запроса.

Пример использования:

import { BrowserRouter as Router, Route, Link } from 'react-router-dom';
function App() {
  return (
    <Router>
      <nav>
        <ul>
          <li>
            <Link to="/">Home</Link>
          </li>
          <li>
            <Link to="/about">About</Link>
          </li>
          <li>
            <Link to="/contact">Contact</Link>
          </li>
        </ul>
      </nav>
      <Route exact path="/" component={Home} />
      <Route path="/about" component={About} />
      <Route path="/contact" component={Contact} />
    </Router>
  );
}
  1. Условный рендеринг. Вместо использования специальной библиотеки маршрутизации вы можете условно отображать различные компоненты на основе текущего состояния или URL-адреса. Вы можете сохранить переменную состояния, которая будет представлять текущую «страницу» или «представление», и обновлять ее, чтобы инициировать отрисовку нужного компонента.

Пример использования:

function App() {
  const [page, setPage] = useState('home');
  const renderContent = () => {
    switch (page) {
      case 'home':
        return <Home />;
      case 'about':
        return <About />;
      case 'contact':
        return <Contact />;
      default:
        return <NotFound />;
    }
  };
  return (
    <div>
      <nav>
        <ul>
          <li>
            <button onClick={() => setPage('home')}>Home</button>
          </li>
          <li>
            <button onClick={() => setPage('about')}>About</button>
          </li>
          <li>
            <button onClick={() => setPage('contact')}>Contact</button>
          </li>
        </ul>
      </nav>
      {renderContent()}
    </div>
  );
}
  1. Условный импорт компонентов. Другой подход заключается в условном импорте различных компонентов на основе текущего URL-адреса или состояния. Вы можете использовать методы динамического импорта или разделения кода для загрузки необходимого компонента по требованию.

Пример использования:

import React, { lazy, Suspense } from 'react';
const Home = lazy(() => import('./components/Home'));
const About = lazy(() => import('./components/About'));
const Contact = lazy(() => import('./components/Contact'));
function App() {
  const [page, setPage] = useState('home');
  const renderContent = () => {
    switch (page) {
      case 'home':
        return <Home />;
      case 'about':
        return <About />;
      case 'contact':
        return <Contact />;
      default:
        return <NotFound />;
    }
  };
  return (
    <div>
      <nav>
        <ul>
          <li>
            <button onClick={() => setPage('home')}>Home</button>
          </li>
          <li>
            <button onClick={() => setPage('about')}>About</button>
          </li>
          <li>
            <button onClick={() => setPage('contact')}>Contact</button>
          </li>
        </ul>
      </nav>
      <Suspense fallback={<div>Loading...</div>}>
        {renderContent()}
      </Suspense>
    </div>
  );
}

Это всего лишь несколько примеров навигации между файлами в приложении React.js. Выбор метода зависит от сложности, масштаба и конкретных требований вашего проекта.