Как реализовать отображение индикатора загрузки (preloader) при загрузке страницы в Next.js?

Изображение к вопросу
  • 1 сентября 2023 г. 7:37
Ответы на вопрос 2
Структура компонента для отображения прелоадера в Next.js может выглядеть примерно так:

```jsx
import { useState, useEffect } from 'react';
import styles from './Preloader.module.css';

const Preloader = () => {
  const [loading, setLoading] = useState(true);

  useEffect(() => {
    // Имитация загрузки данных
    setTimeout(() => {
      setLoading(false);
    }, 2000);
  }, []);

  return (
    loading ? (
      <div className={styles.preloader}>
        <div className={styles.loader}></div>
      </div>
    ) : null
  );
};

export default Preloader;
```

В данном примере используется хук `useState` из библиотеки React для создания состояния `loading`, которое указывает, должен ли отображаться прелоадер или нет. Также используется хук `useEffect`, который запускает эффект только при первом рендере компонента и после его монтирования. Внутри хука `useEffect` мы имитируем загрузку данных, установив состояние `loading` в `false` через 2 секунды.

Компонент прелоадера представляет собой простой `div`, у которого есть классы стилей `preloader` и `loader`. Стили можно определить в отдельном файле CSS или CSS-модуле.

Чтобы использовать компонент прелоадера на нужных вам страницах, вы можете импортировать его и разместить в нужном месте в JSX структуре вашей страницы. Например:

```jsx
import Preloader from './Preloader';

const HomePage = () => {
  return (
    <div>
      <h1>Welcome to my page</h1>
      <Preloader />
      {/* остальной контент страницы */}
    </div>
  );
};

export default HomePage;
```

В данном примере прелоадер будет отображаться на странице до завершения имитации загрузки данных, после чего он пропадет и будет показан остальной контент страницы.
https://stackoverflow.com/questions/68118383/next-...?Для создания динамических маршрутов в Next.js можно использовать механизм fallback. 

https://nextjs.org/docs/pages/building-your-applic... - здесь описано, как можно построить ваше приложение с помощью Next.js.
Похожие вопросы