@MRcracker

Как оптимизировать фукцию next.js?

Использую next.js. У меня есть компонент меню. Он находится за пределами папки pages. Данные меню получаю из cms системы при помощи запроса getStaticProps.

getStaticProps - работает только на страницах в папке pages. За пределами папки не работает. Как можно оптимизировать файлы и код, чтобы на каждую страницу не добавлять getStaticProps запрос для получения данных меню?
  • Вопрос задан
  • 147 просмотров
Решения вопроса 2
IwanQ
@IwanQ
Плохие времена часто дают прекрасные возможности
Вообще есть такая проблемка в Next, что нет оптимального способа зафетчить что-то один раз, например глобальные настройки, и потом использовать это в приложении. Наиболее близким вариантом решения было-бы использовать getStaticProps в _app, но по некоторым причинам это на данный момент не возможно.

Один из разработчиков Next предлагает следующие решения:

  • I want to fetch data once, and only once, until the next build, globally for my entire application. Solution
  • I want to share a layout between pages, while persisting React state to allow nested layouts. Solution
  • Finally, of course, you can create a shared function fetching your data and use it inside getStaticProps for every page


Как по мне, именно для вашей задачи стоило-бы использовать этот вариант
Ответ написан
Комментировать
miraage
@miraage
Старый прогер
Вообще для этого Custom App компонент https://nextjs.org/docs/advanced-features/custom-app

Только он getStaticProps не умеет. Если хочется через getStaticProps, то можете написать утиль с кэшированием.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы