Ответы пользователя по тегу Next.js
  • Как в nextjs сделать мастер-страницу?

    hzzzzl
    @hzzzzl
    у некста есть _app.js, в который будут завернуты все страницы, вот в этот файл можно положить общие элементы, например

    // /pages/_app_.js
    import React from 'react'
    import App from 'next/app'
    import SiteLayout from './components/SiteLayout'
    
    class MyApp extends App {
      render() {
        const { Component, pageProps } = this.props
        return (
          <SiteLayout>
            <Component {...pageProps}></Component>
          </SiteLayout>
        )
      }
    }
    
    export default MyApp


    https://adamwathan.me/2019/10/17/persistent-layout...
    Ответ написан
    Комментировать
  • Какие есть варианты использования api-routes в Next.js?

    hzzzzl
    @hzzzzl
    как я понимаю, это сделали для того, чтобы параллельно с next.js не поднимать еще какой-нибудь express на сервере (особенно, если этот экспресс будет нужен только для того, чтобы отвечать на api)

    https://www.youtube.com/watch?v=61TngxLrP_0&t=1684s
    здесь дядя рассказывает подробнее с картинками, см как пропускается один шаг "обращение к api", потому что за это теперь отвечает сам некст

    5f37a32019ef6518458150.png

    но, когда я в последний раз смотрел документацию, то там не было возможности* хранить инстанс открытого соединения с БД, то есть приходится как-то тупо открывать коннект каждый раз при обращении к api-route, что у меня отбило желание углубляться дальше - проще и лучше поднять для этого express, и из него уже раздавать апп на next, всё же

    * UPD вроде всё же есть варианты
    https://stackoverflow.com/questions/61492595/next-...
    Ответ написан
    3 комментария
  • Как слушать back button браузера и триггерить экшены?

    hzzzzl
    @hzzzzl
    возможно выйдет тупо в _app.js или в какой-нибудь основной враппер Layout.js положить обработчик события popstate?

    React.useEffect(() => {
      window.addEventListener('popstate', doStuff)
      return () => {
        window.removeEventListener('popstate', doStuff)
      }
    }, [doStuff])   // function doStuff() {}


    а можно вопрос, как вообще redux подцепил к нексту?
    я сколько не пробовал, но не вышло сделать так, чтобы стор не очищался после навигации между страницами.. но мне надо чтобы он каждый раз заполнялся при загрузке страницы через getInitialProps, и поэтому каждый раз страница заново рендерится на сервере
    Ответ написан