2-2. NextJS та справжні клієнтські компоненти

Поделиться
HTML-код
  • Опубликовано: 12 фев 2024
  • Чи існують в Next.JS справжні клієнтьскі компоненти - тобто такі, які рендеряться виключно на клієнті і ніколи не рендеряться на сервері? Про це ви дізнаєтесь з цього маленького відео про Клієнтські компоненти та Next.JS
    💻 Програма та матеріали - github.com/Drag13/NextJS-expr...
    🧑‍💻Код github.com/Drag13/NextJS-expr...
    💌 Telegram - t.me/reactbeginners

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

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

    А яка різниця буде якщо зробити просто імпорт компоненти з директивою use client(без dynamic)? Хіба щось зміниться?

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

      Звичайно, ще й як. Use client компоненти рендеряться і на клієнті і на сервері. Саме тому, у попередньому відео, я назвав їх універсальними. А комбінація ssr false та use client змушує їх рендерятится вже виключно на клієнті

  • @alenakavyrshyna3916
    @alenakavyrshyna3916 3 месяца назад +1

    А які юз кейс чисто клієнтських? Для чого так робити?

    • @reactdev
      @reactdev  3 месяца назад +2

      Для компонентів які неможливо або не варто рендерити на сервері:
      Неможливо: будь яка стороння ліба що звертається до dom api напряму
      Не варто: canvas

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

    Чи має значення що краще застосовувати для опису компонентів - arrow functions або function declaration?

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

      У arrow function немає властивості name (це ж анонімна функція), в стек трейсі виглядає крапельку менш зручно. В усьому іншому справа смаку

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

    +++

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

    Мабуть можна в налаштуваннях компіляції якийсь прапорець поставити, щоб відключити ssr та отримати звичайний single page application. Щоб для кожного компонента такий динамічний імпорт не прописувати

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

      Та воно для кожного і не потрібно. Ми живемо із серверними. Трохи додає складності але жити поки можна. А якщо вимкнути ssr, то next взагалі стає не потрібним. Можна брати звичайний Vite

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

      @@reactdev маєте на увазі, що якщо ти взяв next (що є по суті фулстеком), то по дефолту і бажано щоб у тебе було ssr: true, бо якщо у компонентах робити все false, то для чого тоді next..

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

      Саме так. Одна з дуже великих переваг next це ssr який працює одразу з коробки.

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

      @@reactdev дякую)

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

    Чому next одразу не зробив нормальні компонети, які б рендерилися тільки на клієнті? Навіщо ці танці з бубнами? )) не зрозуміло.
    Дякую за урок! Формат з короткими відео - бомба! )

    • @reactdev
      @reactdev  4 месяца назад +1

      А от на це у мене вже є відповідь і вона проста. Тому що сучасний некст не націлений на інтерактивність)

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

      @@reactdev тобто, якщо мені потрібний досить інтерактивний сайт, то я маю використовувати постійно отакі приспособи або просто не обирати некст?

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

      Якщо вам не потрібне (і не буде потрібне) SEO я б некст не брав. Сервер, якщо він потрібен, можна розмістити окремо.
      Але і з некстом можна жити. Маємо зараз адмінку на останньому нексті, трохи боляче, але терпимо. Обходимось без ssr false

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

      @@reactdev дуже цікаво та по справі зроблене відео, дякую!
      не націлений на інтерактивність… в мене виникає питання на поговорити:
      От як приклад - компонент Loader, який має показуватись до завантаження сторінки. Якщо його імпортувати таким чином, то він взагалі завантажуватись не буде до componentDidMount… тому іноді статично згенеровані компоненти, то навпаки більше інтерактивності? І ось як приклад, весь згенерований джаваскріпт, який фетчить та оновлює дані на сторінці - чим це не інтерактивність? І чим сторінка, яка чекає поки браузер відрендерить всі компоненти інтерактивніша, за статичну?
      Питаю і розумію, що не розумію і починаю розуміти 😊
      Дуже вчасне відео для мене. Тільки вчора думала про SPA/MPA

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

      @@reactdevі що болить в адмінці?

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

    а якщо додати в клієнтський компонент import "client-only", ефект буде той самий?

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

      Це та що стороння бібліотека?

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

      я не знаю, посилання та рекомендації щодо пакетів server-only та client-only я бачив в офіційних доках, npmjs майже ніякої інформації не дає. я не впевненний, що вони сторонні. це якщо стороння=third-party

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

      Теж бачив тільки в документації