TanStack Router ist ein Router zum Erstellen von React- und Solid-Anwendungen. Einige seiner Funktionen umfassen
Um schnell loszulegen, gehen Sie zur nächsten Seite. Für eine ausführlichere Erklärung, schnallen Sie sich an, während ich Sie auf den neuesten Stand bringe!
Die Verwendung eines Routers zum Erstellen von Anwendungen wird allgemein als unverzichtbar angesehen und ist in der Regel eine der ersten Entscheidungen, die Sie bei Ihrem Technologie-Stack treffen werden.
Warum sollten Sie also TanStack Router gegenüber einem anderen Router wählen?
Um diese Frage zu beantworten, müssen wir uns die anderen Optionen im Markt ansehen. Es gibt viele, wenn Sie genau hinschauen, aber meiner Erfahrung nach lohnen sich nur wenige, ernsthaft erkundet zu werden
Beide Frameworks (und ihre Router) sind großartig, und ich kann persönlich bezeugen, dass beide sehr gute Lösungen für die Entwicklung von React-Anwendungen sind. Meine Erfahrung hat mich auch gelehrt, dass diese Lösungen viel besser sein könnten, insbesondere im Hinblick auf die tatsächlichen Routing-APIs, die Entwicklern zur Verfügung stehen, um ihre Apps schneller, einfacher und angenehmer zu gestalten.
Es ist zu diesem Zeitpunkt wahrscheinlich keine Überraschung, dass die Wahl eines Routers so wichtig ist, dass sie oft 1:1 mit Ihrer Wahl des Frameworks verbunden ist, da die meisten Frameworks auf einem bestimmten Router basieren.
Bedeutet das, dass TanStack Router ein Framework ist?
TanStack Router selbst ist kein "Framework" im herkömmlichen Sinne, da es einige andere gängige Full-Stack-Belange nicht abdeckt. TanStack Router wurde jedoch so konzipiert, dass er zu einem Full-Stack-Framework aufgerüstet werden kann, wenn er in Verbindung mit anderen Tools verwendet wird, die Bündelung, Bereitstellung und serverseitige Funktionalität abdecken. Deshalb entwickeln wir derzeit TanStack Start, ein Full-Stack-Framework, das auf TanStack Router und Vite aufbaut.
Für einen tieferen Einblick in die Geschichte von TanStack Router lesen Sie gerne TanStack Routers Geschichte.
TanStack Router erfüllt die gleichen grundlegenden Erwartungen wie andere Router, die Sie gewohnt sind
Und es bietet auch einige neue Funktionen, die die Messlatte höher legen
Lassen Sie uns einige der wichtigeren Details genauer betrachten!
Heutzutage wird alles "in TypeScript" geschrieben oder bietet zumindest Typdefinitionen, die über Laufzeitfunktionalitäten gelegt sind, aber viel zu wenige Pakete im Ökosystem entwerfen ihre APIs tatsächlich mit TypeScript im Hinterkopf. Während ich mich also freue, dass Ihr Router Ihre Optionsfelder automatisch vervollständigt und ein paar Tippfehler bei Eigenschaften/Methoden hier und da erkennt, gibt es noch viel mehr zu gewinnen.
Was bedeutet das alles für Sie?
Suchparameter sind oft ein nachträglicher Gedanke, der wie eine Blackbox von Zeichenketten (oder einer Zeichenkette) behandelt wird, die Sie parsen und aktualisieren können, aber nicht viel mehr. Bestehende Lösungen sind **nicht** typsicher, was die Vorsicht erhöht, die für ihren Umgang erforderlich ist. Selbst die "modernsten" Frameworks und Router überlassen es Ihnen, zu entscheiden, wie Sie diesen Zustand verwalten. Manchmal parsen sie die Suchzeichenkette für Sie in ein Objekt, oder manchmal müssen Sie es selbst mit URLSearchParams tun.
Lassen Sie uns zurücktreten und uns daran erinnern, dass **Suchparameter der leistungsfähigste Zustandsmanager in Ihrer gesamten Anwendung sind.** Sie sind global, serialisierbar, Lesezeichen-fähig und teilbar, was sie zum perfekten Ort macht, um jeden Zustand zu speichern, der eine Seitenaktualisierung oder das Teilen in sozialen Netzwerken überdauern muss.
Um dieser Verantwortung gerecht zu werden, sind Suchparameter in TanStack Router ein erstklassiger Bürger. Obwohl sie immer noch auf standardmäßigen URLSearchParams basieren, verwendet TanStack Router einen leistungsstarken Parser/Serializer, um tiefere und komplexere Datenstrukturen in Ihren Suchparametern zu verwalten, während sie gleichzeitig typsicher und einfach zu handhaben bleiben.
Es ist, als hätte man useState direkt in der URL!
Suchparameter sind
Sobald Sie mit den Suchparametern von TanStack Router arbeiten, werden Sie sich fragen, wie Sie jemals ohne sie leben konnten.
Datenladung ist ein kritischer Teil jeder Anwendung, und obwohl die meisten bestehenden Router eine Form von kritischen Datenlade-APIs anbieten, versagen sie oft, wenn es um Zwischenspeicherung und Datenlebenszyklusmanagement geht. Bestehende Lösungen leiden unter einigen häufigen Problemen
TanStack Router löst diese Probleme mit einem zweigleisigen Ansatz für Zwischenspeicherung und Datenladung
TanStack Router bietet eine leichtgewichtige, integrierte Caching-Schicht, die nahtlos mit dem Router zusammenarbeitet. Diese Caching-Schicht basiert lose auf TanStack Query, jedoch mit weniger Funktionen und einer viel kleineren API-Oberfläche. Wie bei TanStack Query garantieren sinnvolle, aber leistungsstarke Standardeinstellungen, dass Ihre Daten zur Wiederverwendung zwischengespeichert, bei Bedarf invalidiert und bei Nichtgebrauch aus dem Garbage Collector entfernt werden. Sie bietet auch eine einfache API zum manuellen Invalidieren des Caches, wenn nötig.
TanStack Router ist mit einer flexiblen und leistungsstarken Datenlade-API konzipiert, die sich leichter in bestehende Datenabrufbibliotheken wie TanStack Query, SWR, Apollo, Relay oder sogar Ihre eigene benutzerdefinierte Datenabruf-Lösung integrieren lässt. Konfigurierbare APIs wie context, beforeLoad, loaderDeps und loader arbeiten zusammen, um deklarative Datenabhängigkeiten zu definieren, Daten vorab abzurufen und den Lebenszyklus einer externen Datenquelle einfach zu verwalten.
Der Router- und Routenkontext von TanStack Router ist eine leistungsstarke Funktion, die es Ihnen ermöglicht, einen Kontext zu definieren, der für eine bestimmte Route spezifisch ist und dann von allen untergeordneten Routen geerbt wird. Selbst die Router- und Root-Routen selbst können Kontext bereitstellen. Der Kontext kann sowohl synchron als auch asynchron aufgebaut werden und verwendet werden, um Daten, Konfigurationen oder sogar Funktionen zwischen Routen und Routenkonfigurationen auszutauschen. Dies ist besonders nützlich für Szenarien wie
Außerdem, was wäre Routenkontext, wenn er nicht typsicher wäre? Der Routenkontext von TanStack Router ist vollständig typsicher und wird für Sie ohne zusätzlichen Aufwand abgeleitet.
TanStack Router unterstützt sowohl Datei-basiertes als auch Code-basiertes Routing gleichzeitig. Diese Flexibilität ermöglicht es Ihnen, den Ansatz zu wählen, der am besten zu den Anforderungen Ihres Projekts passt.
Der Datei-basierte Routing-Ansatz von TanStack Router ist einzigartig benutzerorientiert. Die Routenkonfiguration wird entweder vom Vite-Plugin oder der TanStack Router CLI für Sie generiert, wobei die Nutzung dieses generierten Codes Ihnen überlassen bleibt! Das bedeutet, dass Sie immer die volle Kontrolle über Ihre Routen und Ihren Router haben, auch wenn Sie Datei-basiertes Routing verwenden.
TanStack Router baut auf Konzepten und Mustern auf, die von vielen anderen OSS-Projekten popularisiert wurden, darunter
Wir erkennen die Investition, das Risiko und die Forschung an, die in ihre Entwicklung geflossen sind, sind aber begeistert, die von ihnen gesetzte Messlatte noch höher zu legen.
Genug Übersicht, es gibt noch viel mehr mit TanStack Router zu tun. Drücken Sie auf die nächste Schaltfläche und legen wir los!
Ihre wöchentliche Dosis JavaScript-Nachrichten. Jeden Montag kostenlos an über 100.000 Entwickler geliefert.