Разбор Tanstack Router - убийца React Router

  Рет қаралды 8,013

PurpleSchool | Anton Larichev

PurpleSchool | Anton Larichev

Күн бұрын

Посмотрим на возможности Tanstack Router, который сможет заменить React Router и разберём все его преимущества недостатки, а так же посмотрим как с ним работать.
🔗 Ссылки:
TanStack Router: tanstack.com/router/v1
Курс по React и Redux: purpleschool.ru/course/react-...
Промокод COURSESTOP на скидку 5%
🎓 Мои курсы: purpleschool.ru
💬 Telegram канал с полезными советами:
t.me/purple_code_channel
Разделы видео:
0:00 - Введение
0:12 - Установка
2:08 - Настройка роутинга
7:59 - Создание роутов
11:27 - Роуты с параметрами
16:39 - useParams и useSearch
20:14 - loader и обработка ошибок
23:57 - devTools
25:03 - Выводы
27:38 - Заключение

Пікірлер: 56
@PurpleSchool
@PurpleSchool 4 ай бұрын
🔗 Ссылки: TanStack Router: tanstack.com/router/v1 Курс по React и Redux: purpleschool.ru/course/react-... Промокод COURSESTOP на скидку 5% 🎓 Мои курсы: purpleschool.ru 💬 Telegram канал с полезными советами: t.me/purple_code_channel
@nikita_belous
@nikita_belous 4 ай бұрын
Наверное, вместо Number(search?.page) ?? 1 должно быть Number(search?.page) || 1. Так как если page не передали, то мы получим undefined, а Number(undefined) -> NaN, NaN ?? 1 -> NaN
@gubatenkov
@gubatenkov 4 ай бұрын
Чувак, ты чисто на волне передовых фронтенд технологий залетел с видосом про Tanstack 👏
@PurpleSchool
@PurpleSchool 4 ай бұрын
Всегда на грани технологий)
@bolovy6093
@bolovy6093 4 ай бұрын
Привет, думаю если бы вы писали в обычном редакторе (vscode/webstorm) код воспринимался бы намного легче, а так спасибо за годный контент 🎉
@PurpleSchool
@PurpleSchool 4 ай бұрын
Спасибо)
@user-ik1in6zt4y
@user-ik1in6zt4y 4 ай бұрын
Спасибо за обзор. Подскажите, какой плагин отвечает за предложение вариантов кода (серым цветом), которое появляется при начале создания функции итд. Видел похожее поведение и в vscod.
@PurpleSchool
@PurpleSchool 4 ай бұрын
Это стандартный complete плагин NVChad
@user-ik1in6zt4y
@user-ik1in6zt4y 4 ай бұрын
@@PurpleSchool спасибо
@data-center-project
@data-center-project Ай бұрын
А как его правильно с Tanstack Query подружить ?
@Edgar-pu1lc
@Edgar-pu1lc 4 ай бұрын
Спасибо за видео, жаль про layout ничего не показал
@PurpleSchool
@PurpleSchool 4 ай бұрын
Спасибо!
@user-tc7lh9tm9m
@user-tc7lh9tm9m 4 ай бұрын
Поддерживаю
@golden_smiles
@golden_smiles 4 ай бұрын
Да, по лейаутам по файл роутингу они чтото намудрили, разбираюсь тоже ))
@viktorkasap
@viktorkasap 4 ай бұрын
Спасибо, отличный обзор! 🤘 На будущее интересно увидеть было бы реализацию авторизации, хотя бы минимум и я пока не очень понял, используя эту либу надо ли нам ставить query, для запросов, или она так же хранит кэшем данные в себе и дополнительная либа уже будет лишней, нам хватит только router?
@PurpleSchool
@PurpleSchool 4 ай бұрын
Спасибо! Все равно нужен дополнительный state manager или хотя бы tanstack query
@viktorkasap
@viktorkasap 4 ай бұрын
@@PurpleSchool понял, спасибо 🙏, значит одно не исключает другое.
@viktorkasap
@viktorkasap 4 ай бұрын
​@@PurpleSchoolя вообще такой микс использую: tanstack query у меня хранит то что от сервера получено, effector хранит то что в рамках приложения используется (например у меня с одной стороны форма для ввода данных, с другой стороны превью, это два разных и не связных компонента, и чтобы не костылить effector очень помогает как независимое хранилище)
@user-tc7lh9tm9m
@user-tc7lh9tm9m 4 ай бұрын
Господи, лучший просто, по доке я не совсем смог нормально разобраться, а сейчас начинаю новый проект писать, обязательно теперь буду использовать этот роутер, божественно все рассказал
@PurpleSchool
@PurpleSchool 4 ай бұрын
Спасибо! Рад, что было полезно
@user-tc7lh9tm9m
@user-tc7lh9tm9m 4 ай бұрын
​@@PurpleSchoolединственное, надо было ещё показать как layouts использовать и показывать loading компонент
@awenn2015
@awenn2015 Ай бұрын
Не пон, а как обрабатывать загрузку? Я думал по логике танстака в компоненте в data мы должен получить данные и что то вроде isLoading рядом, а по факту ничего такого там нет, как по итогу спинер то показывать?
@d.sadykov1354
@d.sadykov1354 2 ай бұрын
У меня почему-то не генерируется файл .gen при npm run dev. Хотя плагин добавлен, может быть это потому что vite + electron + react отличается от vite + react просто. Плагин добавлен в конфиг рядом с плагином react()
@ananasios
@ananasios 3 ай бұрын
Молодой человек подскажи что за тема у тебя в nvim установлена ? Оч уж зашла
@PurpleSchool
@PurpleSchool 3 ай бұрын
Это TokioDark
@CJIu3eHb
@CJIu3eHb 4 ай бұрын
Блокирующий лоадер - это не круто, конечно. Тема с типизированными роутами не нова, в RN такое есть (без учета фишки сопоставления файловой структуры, ну и в целом не под web заточено, понятное дело). Хочу офтопнуть по Next 13: как сохранять состояние между запросами на серверные эндпойнты (которые /app/api/...)? Там файлы походу не постоянно крутятся, а чуть ли не как в php на каждый запрос вызываются. По крайней мере, console.log в импортируемом в хендлер запроса файле отрабатывает на каждый запрос. Ну и начальная инициализация там через одно темное место, какой-то точки входа нет, если экпериментальная фича положить функцию register в файл instrumentation.ts, типа там можно подобие бутстрапа организовать. Так вот, между запросами хочу хранить данные в памяти, а-ля сервис, который хранит/выдает массив с данными. И ничего не выходит. Т.е. данные можно только хранить на диске и оттуда каждый раз читать (а так как данные нужно иногда менять, то и писать). А хотелось бы в памяти, подумываю попробовать засорить своей переменной global ноды (уж она то должна постоянно крутиться, запросы ожидать), но это как-то кривенько (хотя если заработает, то и хрен с ним). И вообще, интересно, как Next эту свою черную магию делает - нагуглить, почему состояние не сохраняется между запросами не получилось, и пока не настолько отчаялся, чтобы ковыряться в исходниках.
@user-nb8mi4im8g
@user-nb8mi4im8g 4 ай бұрын
хотел использовать в новом проекте, стал разбираться и столкнулся с тем, что документация описана криво, например не работают ссылки, или несовсем понятно, например про контекст, показалось что кода как-будто бы писать больше, а в конце, из-за чего вообще забросил, типы в библиотеке не дописаны, тупо есть название интерфейса, а полей в нём нет, закоменчены, в связи с чем будут проблемы с типизацией в проекте. Встретил на зарубежном форуме комент, где человек откровенно удивлён, что библиотеку выпустили, тк он следил за разработкой и она была далека до завершения. Короче буду ждать следующие версии, а там посмотрим
@vint_razboltaylo
@vint_razboltaylo 4 ай бұрын
Либа и правда сырая, но потенциал у нее есть, так что пока ждем апдейты
@viktorkasap
@viktorkasap 2 ай бұрын
Такая же история, документация пока сырая, в примерах такое ощущение что на скорую руку делали, чисто для демки. Походу да, надо ждать, они ща получать миллион негативного фидбэка и доведут до ума... надеюсь
@proletarian
@proletarian 2 ай бұрын
Дочерних роутов здесь нету? Как то не обнаружил как они работают, или может плохо искал
@proletarian
@proletarian 4 ай бұрын
Вообще не по теме но всё же, у меня в ARC на многих популярных сайтах не работает голосовой ввод, жму микрофончик, даю разрешение и ничего, в гугл переводчике к примеру сразу же выпрыгивает уведомлении о том что отсутствует интернет, вот хотел спросить это только у меня такое или это проблема браузера? P.S. работает только в KZbin
@PurpleSchool
@PurpleSchool 4 ай бұрын
Не пользуюсь голосовым вводом, потому не подскажу(
@evoleurt
@evoleurt Ай бұрын
Спасибо, избавился от реакт роутера в пользу адекватного роутинга от tanstack
@PurpleSchool
@PurpleSchool Ай бұрын
Супер)
@user-sj7tf2yv3m
@user-sj7tf2yv3m 4 ай бұрын
Сколько нам ждать обзор на Nuxt
@user-eq5rm5nh4h
@user-eq5rm5nh4h 4 ай бұрын
+
@AbAb-cj7qz
@AbAb-cj7qz 4 ай бұрын
+
@PurpleSchool
@PurpleSchool 4 ай бұрын
Хорошо)
@ecoaurum
@ecoaurum 4 ай бұрын
пока сам не выучишь
@user-td3bz8st6v
@user-td3bz8st6v 4 ай бұрын
+
@bellmoon2754
@bellmoon2754 4 ай бұрын
Спасибо за обзор! Но честно говоря видео получилось не рыба и не мясо. Для обзора слишком длинное для полноценного урока как-то не хватило объяснений зачем это нужно и чем это решение лучше существующих
@daveyjonesx
@daveyjonesx 4 ай бұрын
Запили видос vue vs react в 2024)
@PurpleSchool
@PurpleSchool 4 ай бұрын
Я не такой активный пользователь Vue
@chirkov
@chirkov 4 ай бұрын
Епт нравится синтаксис vue - используй vue, нравится синтаксис react - используй react. Но имей в виду что плагины новые и современные выходят чаще на реакт. Вакансий на реакте больше примерно в 4 раза и 3 года назад было примерно так же
@daveyjonesx
@daveyjonesx 4 ай бұрын
@@chirkov поэтому и нужен видос, потому что это очень плохое сравнение.
@llwebstylell242
@llwebstylell242 4 ай бұрын
Я единственный кто не увидел убийцу реакт роутера ?) видос просто не о чём)
@StarkElessar
@StarkElessar 4 ай бұрын
полазил по доке этого роутера, и не понял зачем оно мне нужно)) Когда react-router просто идеально покрывает мои нужды)
@llwebstylell242
@llwebstylell242 4 ай бұрын
@@StarkElessar я в доках не лазил, видео глянул - мне хватило понять, что реакт роутер, может всё тоже самое что и тан-стак роутер, так что какой смысл изучать тан-стак роутер - хз
@fedordostoevskiy4209
@fedordostoevskiy4209 4 ай бұрын
На этом канале одни убийцы каждую неделю)
@PurpleSchool
@PurpleSchool 4 ай бұрын
Триллеры показываем)
@iGotton
@iGotton 4 ай бұрын
+
@PurpleSchool
@PurpleSchool 4 ай бұрын
👍
@xice111
@xice111 4 ай бұрын
Опять наш нитакуся пытается выбрать не трендовый стек
@PurpleSchool
@PurpleSchool 4 ай бұрын
Я не пытаюсь выбрать, я обозреваю новинки, чтобы вы принимали взвешенное решение при выборе стека
@user-bp7jb5of5d
@user-bp7jb5of5d 4 ай бұрын
И преимуществ танстэк роутера перед реакт роутером не раскрыто и видео занудно снято…
Storybook - Быстрый курс по работе и тестированию с React
37:39
I Waited 3 Years For This Router. It STILL Blew My Mind.
21:30
Theo - t3․gg
Рет қаралды 96 М.
ТАМАЕВ vs ВЕНГАЛБИ. Самая Быстрая BMW M5 vs CLS 63
1:15:39
Асхаб Тамаев
Рет қаралды 4 МЛН
Khóa ly biệt
01:00
Đào Nguyễn Ánh - Hữu Hưng
Рет қаралды 6 МЛН
Is Tanstack Router Better Than React-Router?
18:00
Jack Herrington
Рет қаралды 32 М.
Разбор Next.js Server Actions!
17:02
PurpleSchool | Anton Larichev
Рет қаралды 10 М.
React 19 - React Compiler, Actions, use hook, activity
46:45
PurpleSchool | Anton Larichev
Рет қаралды 10 М.
Migrating from React Navigation to Expo Router
20:37
Simon Grimm
Рет қаралды 8 М.
Micro Frontends - Routing between remotes
33:58
Russell Canfield
Рет қаралды 4,1 М.
MERN - URL Shortener from Scratch to Deploy (Mongo, Express, React, Node)
3:34:31
Владилен Минин
Рет қаралды 894 М.
Пишем тесты Node js на Jest и TypeScript - unit, e2e
21:36
PurpleSchool | Anton Larichev
Рет қаралды 5 М.
ТАМАЕВ vs ВЕНГАЛБИ. Самая Быстрая BMW M5 vs CLS 63
1:15:39
Асхаб Тамаев
Рет қаралды 4 МЛН