React Router Form - совместили несовместимое

Поделиться
HTML-код
  • Опубликовано: 28 сен 2024

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

  • @ПолончукАлександр

    Спасибо!
    Роутер 6.4 с каждой новой деталью кажется все более перегруженным.
    Думаю пока лучше остановлюсь на 6.0.

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

      Кто вас заставляет пользоваться новыми фичами?

    • @nexus7172
      @nexus7172 Год назад +5

      ​@@The14Some1 а эти ненужные фичи в бандл не попадают? Загружаются по требованию?

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

      @@nexus7172 вы описали работу тришейка, поздравляю

  • @Иван-с2л8е
    @Иван-с2л8е Год назад +17

    Как по мне роутер 6 версии слишком много на себя берет. Из-за того что эти ребята из remix решили навязывать как надо писать роутинг, сижу на 5 имхо

  • @Ramosok
    @Ramosok Год назад +12

    Праздник к нам приходит, праздник к нам приходит и счастья приносит и вкус бодрящий)) Видосы Синяка просто классны!)))

  • @thechrom007
    @thechrom007 Год назад +7

    Какая-то невероятная хрень)) Столько запары ради такой простой задачи 🙁

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

    Ждем теперь когда реакт роутер позволит реализовывать ssr 😁

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

    Спустя некоторое время использования форм пришёл к выводу что пока они не покрывают все мои хотелки. Мне очень нравится подход с использованием html стандарта для форм, но видимо без доработки стандарта ничего не выйдет с нативной валидацией. Продолждаю сабмитить формы с помощью RHF.
    Ну а лоадеры использую с большим удовольствием, это реально удобней и чище чем useEffect.

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

      А как решаете проблему, что тут подняли, с отсутствием глобального лоадер-фолбека для раута с лоадером?
      Вот нужно вам, к примеру, чтобы во время выполнения лоадера вместо компонента показывался спиннер. Вы весь компонент внутри заворачиваете в Suspense/Await?

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

      @@The14Some1 исп. useNavigation

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

    Невозможно не поставить лайк. Спасибо, родной!

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

    Синяк, я по твои видосы всем рассылаю. все в восторге. Все подписываются.

    • @it-sin9k
      @it-sin9k  Год назад

      Спасибо за помощь в продвижении канала. Это бесценно!)

  • @АлександрГерасимов-с3щ

    Предлагаю в одном из следующих видео рассмотреть tanstack router. Новая библиотека, пока еще в бете, но отзывы о ней вроде положительные.

  • @NoName-zh7cc
    @NoName-zh7cc Год назад

    Спасибо, отличный контент!

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

    спасибо за видео. но, в заголовке описочка в слове "совместили". извините, если не туда написал

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

    Для перезагрузки страницы подразумевается сервер сайд рендер, и данные будут доступны сразу при отрисовке. Другое дело, что довольно новая концепция для React.
    Но имхо Remix молодцы, считаю их реализацию гениальной.

    • @it-sin9k
      @it-sin9k  Год назад

      так проблема же в том, что это не сервер сайд рендеринг :)

  • @DenisB-d5f
    @DenisB-d5f Год назад

    Когда видео про исходники useState?
    Как он работает под капотом? Как вызывает ререндер? Как при повторном вызове функции, в которой он используется, хук понимает какие данные ему нужно вернуть?

    • @it-sin9k
      @it-sin9k  Год назад +1

      на самом деле я в сомнениях, стоит ли делать отдельное видео для useState. Так как там по факту в основном внутренние методы, которые нам особо ничего не прояснят. Про то где хранят стейт, там все просто, в самой файбер ноде хранят и каждый раз из него возвращают нам. Как вы знаете хуки всегда статичны их нельзя в if добавлять и в циклы. Поэтому первый useState всегда первый. Поэтому данные условно хранятся в массиве (в реальности в linked list). И всегда 0 эллемент массива, это первый useState, второй это второй и так далее

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

    совМестили) крутой видос!

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

    Совместили 🤔

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

    Заголовок надо бы поправить, а-то уже совесть замучила.

    • @it-sin9k
      @it-sin9k  Год назад

      Только поправил) целый день на работе сильно занят был)

  • @AC-is6kh
    @AC-is6kh Год назад

    👍

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

    Зачем гадать, для чего нужен и как работает React Router Form, когда можно сразу прочесть документацию?

    • @it-sin9k
      @it-sin9k  Год назад

      Если бы там были все ответы, то конечно да)

  • @АндрейСеребренников-в7г

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

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

    Для самых простых форм может и прокатит, но для какиих-то динамических вряд ли

  • @АлександрКалинин-ъ6й

    Как по мне, не очень получилось совместить несовместимое:) Лайк+коммент как всегда👍

  • @АртемТерещенко-ц4э

    Мое мнение
    Это уже перебор
    с 6ки добавили слишком много
    хотя бы вынесли это в отдельный репо

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

    Нууууууу. Спорная штука. Валидация стандартными методами HTML как минимум выглядит неприглядно, а как максимум не перекрывает сценария, при котором, например, с сервера пришел ответ с типом: "Некорректный Email адрес", и его нужно где-то отобразить.

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

      Так же, как и результат обычной js-валидации, можно вернуть при выполнении action и получить через useActionData.

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

    Байт на комментарии в названии видоса 😂😂😂😂

    • @it-sin9k
      @it-sin9k  Год назад +1

      Случайно вышло) но комментов отхватил будь здоров))

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

    Тут, как я понял, разработчики реакт-роутера пытаются реализовать нативное браузерное поведение: в чистом html адрес страницы также, по-сути, управляется в том числе и при помощи тега form. Вот они и повторили эту историю, чтобы, так сказать, добавить реакт-обертку над стандартным поведением. Также как и компонент Link реализует нативное поведение ссылки

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

    Очень полезный ролик!

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

    Спасибо!

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

    круто

  • @S.O..K.
    @S.O..K. Год назад

    Валидация на сервере для форм должна быть ради безопасности самого сервера, но она не отменяет тот факт что фронтовая валидация тоже имеет место быть! Походу новый роутер стал на 2 порядка хуже предыдущий его вариаций (неудобный лоадинг, корявый сабмит и тд)

    • @S.O..K.
      @S.O..K. Год назад

      @АйТиСиняк спасибо за обзор

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

    👏👍

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

    Что Loader, что Form віглядят максимально не юзабельніми. Но за видео однозначно спасибо. Интересно, как с єтим всем потом формируется бандл. Что попадает, что нет. Так как на даннім момент v6 весит уже почти в 3 раза больше чем v5

    • @it-sin9k
      @it-sin9k  Год назад

      Я создавал issue на гитхабе, чтобы это в отдельный плагин может вынесли. Они грозились, что оно автоматически не попадет в бандл, если вы этим не пользуетесь

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

      @@it-sin9k похоже что так и есть. Сборщик не бросает в бандл. Смотрели по версии 6.11 - размер роутера в бандле аппки явно меньше, чем на бандлсайз самой либы указанный в сервисе, который ты чекал в видео

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

    React Remix затащили в React Router)
    В силу того что Remix использует React Router этот функционал был уже в ядре и просто решили допилить и предоставить API для использования без Remix. В Remix есть так же возможность прикрутить кастомную валидацию. Скорее всего и здесь появится спустя пару версий.

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

    Мегахарош!

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

    Они, кстати, нативный уклон формы взяли из Remix, на котором сайт доки и написан. Думайте сами))

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

    В названии ролика в слове "Совместили" букву пропустил)

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

    В заголовке к ролику ошибка - совМестили не совместимое, наверное?

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

    просто пересказ документации

  • @paqstd-yt
    @paqstd-yt Год назад

    Роутер в ремикс превращается

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

    Спасибо, хороший контент

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

    Круто! Спасибо!

  • @ЛАКЕТОР
    @ЛАКЕТОР Год назад

    Мб "совМестили"*?

  • @Айбек-г3е
    @Айбек-г3е Год назад

    Спасибо тебе

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

    ясно

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

    Спасибо, синяк!
    Как по мне так фича с гет запросом явно не допилена, мб оставили полную реализацию до мажорного обновления?)

    • @it-sin9k
      @it-sin9k  Год назад +1

      жду с нетерпением конечной имплементации))

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

    Стал немножко похожым remix js

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

      Его одни и те же разработчики делают

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

    Респект и благодарность 🙏
    Народ, лайки ставм ЛАЙКИ 😃. Синяк выпускает толковые гайды

    • @it-sin9k
      @it-sin9k  Год назад +1

      спасибо!)

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

      @@it-sin9k добавьте, наконец, пропущенную букву в названии. Вам уже человек 10 написали :)

    • @it-sin9k
      @it-sin9k  Год назад

      сегодня целый день в запаре был) только отредактировал) спасибо)