NextJS 13. Варианты рендеринга - RSC, CSR, SSR, SSG, ISR

Поделиться
HTML-код
  • Опубликовано: 20 июн 2024
  • Серверный рендеринг, клиентский или статическая генерация страницы - сегодня Next не ограничивается этими тремя классическими подходами, а добавляет также подход серверных компонентов и инкрементальной регенерации статики.
    Разбираемся с разными подходами к рендерингу и смотрим как их применять в NextJS 13.
    00:00 Анонс темы
    00:20 Виды рендеринга
    01:02 CSR базовая теория
    02:14 SSR базовая теория
    03:31 RSC базовая теория
    05:13 SSG базовая теория
    07:09 ISR базовая теория
    09:04 Варианты рендеринга в приложении
    11:51 Добавление SSG
    16:30 Использование ISR
    25:22 Итоги
    Мои курсы по вебу с купонами:
    ✅ mishanep.com/
    📢 Поддержка канала:
    / mishanep
    www.tinkoff.ru/rm/nepomnyasch...
    paypal.me/mishanep
  • НаукаНаука

Комментарии • 61

  • @IT-Svyatoslav
    @IT-Svyatoslav Год назад +18

    Благодарю Вам Михаил за старания в создании для нас отличного материала по NextJS и не только 😊

  • @user-cv9xy4uu2f
    @user-cv9xy4uu2f Год назад +13

    Ура. Наконец-то эту тему лаконично обьяснили в формате видео. Смотрел сейчас red group уроки next js, очень тяжёло идёт, так как у автора мысли скачут от одной к другой и нормально объяснить он тему не способен

    • @mishanep
      @mishanep  Год назад +4

      Никогда про них не слышал

    • @biLLie_wiLLie
      @biLLie_wiLLie Год назад +1

      @@mishanep вам очень повезло) А вы смотрите вообще чьи-то курсы?

    • @sgu6ena
      @sgu6ena 4 месяца назад

      делает интересные вещи, но с объяснениями беда(

  • @biLLie_wiLLie
    @biLLie_wiLLie Год назад +8

    наконец-то кто-то про этот лес рассказал

  • @shizo380
    @shizo380 7 месяцев назад +3

    Михаил, такие люди, как Вы, попадают в рай без очереди, спасибо огромное за ваш труд, столько качественного контента на ютубе крайне мало!

  • @user-uz8hj8dz1x
    @user-uz8hj8dz1x Год назад +2

    Очень нравятся теоретические части видео, больше спасибо =)

  • @user-sq5fr5su3t
    @user-sq5fr5su3t 11 месяцев назад

    спасибо! очень интересно разбираться с next.js. 😊 после обычного реакта сложновато, но того стоит)

  • @egolege
    @egolege Год назад +1

    Спасибо автору!
    В целом все встало на свои места

  • @dmitrysvetlov6001
    @dmitrysvetlov6001 6 месяцев назад

    Обалденно, понятно, внятно без воды. Респект каналу.

  • @helloglobalme9689
    @helloglobalme9689 Год назад

    Вчера смотрел последнее видео! Очень рад, что сегодня вышло новое! Еще не начал смотреть и ставлю лайк за актуальный материал !!!

  • @B_G_V
    @B_G_V Год назад +6

    Вся серия видосов по Next 13, получилась отличной. Коротко, понятно, без воды, с хорошими примерами. 👍👍👍
    Надеюсь и дальше будете нас радовать видосами по этому фреймворку.

  • @user-vm2db5cq1g
    @user-vm2db5cq1g 11 месяцев назад

    Михаил спасибо что начали записывать видео по некст))) очень актуально сейчас!

  • @Genorred
    @Genorred 3 месяца назад

    Большое спасибо за видео, наконец всё более-менее стало на свои места.

  • @user-zz8rg3ko8v
    @user-zz8rg3ko8v Год назад +1

    Сразу лайк! Однозначно

  • @visionxpro6956
    @visionxpro6956 11 месяцев назад +3

    Михаил, классно рассказываешь материал, без воды, все шикарно! Хотелось услышать бы про state managment в next 13, как правильно пользоваться zustant/redux в связи с серверными компонентами и рендерингом и про библиотеки chakra ui

  • @user-mx1ui6sh6k
    @user-mx1ui6sh6k 7 месяцев назад

    круто!!!!!!!

  • @ferraritestarossa
    @ferraritestarossa 11 месяцев назад

    Отличное объяснение технологий рендеринга! Очень хочется посмотреть от вас раскрытие темы работы с Image и metadata в NextJS.

    • @mishanep
      @mishanep  11 месяцев назад +3

      Про metadata было во вводном видео цикла. Про Image видео уже записано, опубликую в среду.

    • @DDD-us6lx
      @DDD-us6lx 4 месяца назад

      @@mishanep спасибо за видео! А разве на 13:15 мы не должны возвращать из generateStaticParams объект с ключом id (вместо slug)? ведь имя свойства в возвращаемом объекте должно иметь такое же название как и динамический сегмент, по-моему в документации так указано --> Example Route: /product/[id] --> generateStaticParams Return Type: { id: string }[]

  • @govorov_top
    @govorov_top Год назад +3

    Жду подробный курс на Udemy!!!

  • @me29_hi8
    @me29_hi8 9 месяцев назад

    Михаин. Я вот посмотрем...

  • @codeurient
    @codeurient Месяц назад

    я 1000 человек который поставил лайк ))

  • @user-hk7td4dh1o
    @user-hk7td4dh1o Месяц назад

    Спасибо за урок, все круто, но есть небольшая поправочка. 4.51 html с сервера приходит только один раз при первой загрузке, потом уже при навигации приходит js и payload. И вот точно утверждать не буду но при ssg hydration все равно будет.

  • @MihailGrib
    @MihailGrib Год назад +3

    колесо сделало оборот

  • @NikolayN707
    @NikolayN707 10 месяцев назад

    планируется ли видео про мидлвары некста ?

  • @9000ever9000
    @9000ever9000 11 месяцев назад

    Хотел бы задать вопрос по поводу SSG. В genderateStaticParams() вы получаете все посты и они возвращаются в сам компонент Post в объекте params. А в этом компоненте вы еще раз производите запрос к апи, чтобы получить конкретный пост, но разве этот пост не должен быть объекте params?

  • @umalishonuy7977
    @umalishonuy7977 Год назад +3

    Я не особо опытный, но есть чувство что SSG и ISR не имеют особого смысла когда есть адекватные и простые RSC вместе с CSR. Хотя возможно что я просто чего то не понимаю))

  • @ArtemMindsurfer
    @ArtemMindsurfer 7 месяцев назад

    офигеть …

  • @osad4enko
    @osad4enko Год назад

    Если нужна мультиязычность - то это только SSG и танцы с бубном вокруг вечной борьбы избежания попадания в клиент компонента изза использовния транслейтов

  • @user-gq4ph9gj3y
    @user-gq4ph9gj3y Год назад

    Подскажите пожалуйста, как 404 обрабатывать страницу при неправильном переходе по ссылке. В документации описано, если мы делаем по стандартному (создаем pages папку), однако, мы идем через метод app. Был бы очень рад

  • @romanmed9035
    @romanmed9035 Год назад +1

    почему Вы не везде используете стрелочные функции?

  • @pvz_Game
    @pvz_Game 3 месяца назад

    Помогите что лучше SR или SSR

  • @oleksiishe7417
    @oleksiishe7417 2 месяца назад

    такой вопрос на счет generateStaticParams мы же должньІ там редерити именно то количество документов, которое лежит у нас на бэкенде точнее в базе? если да то как можно сделать какойто pagination, или не как
    ?

  • @user-dx1yq6cw3q
    @user-dx1yq6cw3q Год назад +1

    Please add video for route protection using next middleware and etc... Thanx a lot

    • @mishanep
      @mishanep  Год назад +3

      I have it already, it is on authentication topic

    • @user-dx1yq6cw3q
      @user-dx1yq6cw3q Год назад +1

      @@mishanep can we use middleware without next/auth lib?, there is a problem while getting token from storages in CSR and SSR modes

  • @dimashavko6777
    @dimashavko6777 9 месяцев назад

    У меня revalidate не происходит, использую app route, подскажите в чем может быть проблема ?
    Делал как по видео, страница генерируется но список не обновляется.

  • @glebf1854
    @glebf1854 Год назад +1

    Как вы считаете, можно ли уже использовать Next 13 App в продакшен проектах или еще рано ?

    • @mishanep
      @mishanep  Год назад

      Смотря что за проекты и какие ещё инструменты используются. Подход серверных и клиентских компонентов новый и не инструменты готовы с ним работать без костылей. Однако наверняка найдется пул небольших и средних проектов, для которых эти ограничения не будут проблемой. А так - общий тренд всегда был про подождать, вне зависимости от пакета.

  • @user-ds4ik5zu9n
    @user-ds4ik5zu9n 9 месяцев назад +1

    Новостной сайт, более 10 тыщ новостей. Более свежие новости часто изменяются и правятся. Какую стратегию стоит использовать?

    • @SingleFeniks
      @SingleFeniks 5 месяцев назад

      Композитный сайт в Битрикс! 😄

  • @tymurkr
    @tymurkr 2 месяца назад

    Есть ссылка на репозиторий git?

  • @adamburke4496
    @adamburke4496 Год назад

    Слышал несколько раз о том, что текущая версия Next с App Router не пригодна для продакшена. А что Вы на этот счёт думаете?

    • @mishanep
      @mishanep  Год назад +1

      Я думаю раз App router стал стабильной и рекомендованной версией, то пригоден. Переходить на новое всегда непросто, в первую очередь голова сопротивляется. Отсюда всякие отговорки про непригодность и прочее. А так - общий тренд не спешить с новинками имеет место быть. Я до сих пор шестой версии reactrouter на продакшн не встречал, хотя ему почти два года. Но это не говорит о непригодности, скорее об инертности.

  • @innaasti6853
    @innaasti6853 19 дней назад +1

    Какие есть способы проверки рендеринга страниц на чужом сайте?

    • @mishanep
      @mishanep  19 дней назад +1

      Для серверных компонентов есть браузерное расширение RSC Devtools.
      В браузере можно посмотреть исходный код страницы, если вместо полноценной разметки там несколько тегов - значит рендеринг клиентский.
      А вот как отличить статическую генерацию от SSR и ISR - вопрос нетривиальный. У меня на него ответа нет.

  • @user-gn1jl9sg8h
    @user-gn1jl9sg8h Год назад

    Будет ли фулл курс на Юдеми ? Или фулл курс будет здесь ?

    • @mishanep
      @mishanep  Год назад

      Пока не приступал. На Ютубе конкретного контент плана нет. Посмотрим. Есть желание сделать полноценный курс, но время трудно выделить.

    • @user-gn1jl9sg8h
      @user-gn1jl9sg8h Год назад

      @@mishanep спасибо

  • @igorzubkov3877
    @igorzubkov3877 Год назад

    Михаил, добрый день. дайте контакт ваш пожалуйста. Есть трудности с покупкой ваших курсов на Udemy

    • @mishanep
      @mishanep  Год назад

      На юдеми уже больше года есть нюансы с покупкой курса. Мои курсы также доступны на платформе степик. Ссылки на моем сайте MishaNep.com
      Моя почта есть в описании канала.

  • @miloman1995s
    @miloman1995s 2 месяца назад

    че то я не пойму, а почему ни в одном уроке не сказано про getServerSideProps, getStaticProps?

    • @mishanep
      @mishanep  2 месяца назад

      Некст предлагает два варианта api - классический (т.н. page router) и новый рекомендованный (он же app router). У них отличаются возможности, организация структуры проекта и синтаксис.

  • @user-jk8yd2bw3z
    @user-jk8yd2bw3z Год назад +7

    На роликах как пройти в айти, про зарплаты и т.п просмотров по 30к++. На действительно полезном контенте, по 3-5к. Чтобы пройти в айти, смотрите Михаила, а не инфоцыган.

    • @NeoCoding
      @NeoCoding 11 месяцев назад +2

      просто то для тех, кто входит, а здесь кто не выходит))

  • @victormog
    @victormog Год назад +2

    Поленился, Михаил, сделать кнопки "Add Post" и "Edit Post"?
    😉

  • @NeoCoding
    @NeoCoding 11 месяцев назад +1

    черт ногу сломит

  • @esp2644
    @esp2644 24 дня назад

    Короче ничего не понял

  • @dmitriystoyanov933
    @dmitriystoyanov933 11 месяцев назад

    Как-то трудно понять, может я тупой, хз. Вроде работаю с некстом, но запросы делаю или в юзэффекте или гетсервесайд пропс, остальное - какой-то темный лес непонятно зачем сделанный.