Ответы пользователя по тегу Next.js
  • Как оптимизировать фукцию next.js?

    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


    Как по мне, именно для вашей задачи стоило-бы использовать этот вариант
    Ответ написан
    Комментировать
  • Почему свойства props компонента is not defined?

    IwanQ
    @IwanQ
    Плохие времена часто дают прекрасные возможности
    Ошибка list is not defined связана с тем, что функция для фетчинга данных getStaticProps не работает за пределами папки /pages.

    Вы можете фетчить только на страницах находящихся в /pages
    Если вы вынесли компонент в отдельную папку, например /components/pages/MainPage и там пытаетесь использовать getStaticProps - эффекта не будет.

    Из доков:
    getStaticProps can only be exported from a page. You can’t export it from non-page files.


    Решение:
    Перенести функцию getStaticProps на страницу в папке /pages, а уже далее передавать пропсы в нужный компонент
    Ответ написан
    1 комментарий
  • В каких случаях стоит использовать Next.js?

    IwanQ
    @IwanQ
    Плохие времена часто дают прекрасные возможности
    Нужно использовать в случаях, когда нужно SEO. Других особо значимых причин усложнять себе разработку не вижу
    Ответ написан
    Комментировать
  • Как в getServerSideProps nextjs получить даные из файла?

    IwanQ
    @IwanQ
    Плохие времена часто дают прекрасные возможности
    const products = (await import("../../data/products")).default;
    Ответ написан
    1 комментарий
  • Как настроить конфиг в next?

    IwanQ
    @IwanQ Автор вопроса
    Плохие времена часто дают прекрасные возможности
    module.exports = (phase, { defaultConfig }) => {
      if (phase === PHASE_DEVELOPMENT_SERVER) {
        return {
          ...defaultConfig,
          future: {
            webpack5: true,
          },
          redirects: async () => {
            return [
              {
                source: '/sign-up',
                destination: '/signup',
                permanent: true,
              },
            ];
          },
          env: {
            test: 'hello',
          },
        };
      }
    
      return {
        /* config options for all phases except development here */
      };
    };


    https://github.com/vercel/next.js/blob/canary/pack...
    Ответ написан
    Комментировать