Diese Woche werden wir über die neuen React 19-Updates und Hooks sprechen. Nachdem ich einige dieser neuen Updates durchlaufen und verwendet habe, kann ich nur zustimmen, dass sie einige der strengen Aktivitäten, die Entwickler beim Erstellen von Apps durchführen, insbesondere interaktiver formularbezogener Anwendungen, vereinfacht haben.
Kommen Sie mit und lassen Sie uns einige dieser neuen Updates erkunden.
React-Compiler: Der React-Compiler wählt Ihren React-Code aus, übersetzt ihn in einen JavaScript-Code für den Browser und verwaltet den Status Ihrer Komponente oder Benutzeroberfläche. Diese einzigartige Aktion trägt dazu bei, die Leistung Ihrer Anwendung zu optimieren.
Wenn Sie mit dem useMemo-Hook, dem useCallback-Hook und dem React.Memo vertraut sind, werden Sie verstehen, dass sie dabei helfen, Ihre Komponenten auswendig zu lernen (Werte oder Funktionen für zukünftige Verwendungen zu speichern), sodass sie nicht erneut verwendet werden müssen. rendern, wenn keine Zustandsänderungen vorliegen. Wenn sich der Status ändert, rendert React die betreffende Komponente und ihre untergeordneten Komponenten neu. Wenn sich in Ihrem Code keine Änderungen ergeben, bleibt die Komponente unverändert und behält den vorherigen Speicher, Wert und Status in der Komponente oder im Hook für die Zukunft bei Verwendet; Dadurch wird die Leistung Ihrer Komponenten optimiert. Genau das macht der React Compiler automatisch, ohne dass einer der oben genannten Hooks manuell aufgerufen werden muss.
Formularaktionen: Einer der größten Vorteile der Verwendung von React ist die Verwaltung und Änderung des Zustands, und dies geschieht meistens, wenn wir verwenden Elemente. Formulare helfen uns, Benutzerinteraktivität effektiver zu erstellen und zu verwalten.
Mit Formularaktionen benötigen Sie keine Event-Handler wie onSubmit und onChange, um eine Live-Mutation von Daten zu bewirken, stattdessen können wir eine action-Requisite übergeben zum
-Element, das eine Funktion empfängt, die das Ereignis auslöst.const myFunction = async (formData) => { const [name, setName] = useState("") const updatedName = await nameChange(formData.get("name")) setName(updatedName) }
Bei diesem Ansatz benötigen wir nicht die Anwendung von useState, um Daten über event.target.value zu mutieren. Stattdessen können wir dies in myFunction tun Holen Sie sich die mutierten Daten über ein Argument.
Das bedeutet, dass wir aus dem Element in unserem Formular ein Namensattribut festlegen müssen. Die Verwendung dieser Methode bedeutet, dass wir React erlauben, das Formular selbst über das Native React-Formularobjekt zu verarbeiten, anstatt den Status manuell über Ereignishandler zu ändern.
Serverkomponenten: React 19 ermöglicht das Rendern von Komponenten auf einem Server vor dem Bündeln, in einer von der Clientanwendung oder dem SSR-Server-Setup getrennten Umgebung. Die Serverkomponenten sind nicht mit SSR (serverseitiges Rendering) identisch, sondern eine separate Serverumgebung in React Server Components.
Mit dieser Funktion können Komponenten vorzeitig vorab gerendert werden, was zu schnelleren Inhaltsanzeigen und einer kürzeren Ladezeit führt.
Metadaten: React 19 ermöglicht flexible Metadaten. Entwickler können die Tags title, description und andere meta-Tags einzelner Komponenten über die Komponente DocumentHead verwalten. Dies wird dazu beitragen, SEO (Suchmaschinenoptimierung) zu verbessern.
Const AboutUs = () => { return (Learn more about our company // content > ); }
React 19 verfügt über eine Reihe von neuen Hooks, einige davon sind neu, andere eine Verbesserung bestehender Hooks. Lassen Sie uns weiter unten darüber diskutieren.
Der use()-Hook: Der use-Hook ist eine experimentelle API, die direkt verwendet werden kann, um den Wert eines Promises oder Kontexts innerhalb einer Komponente oder eines Hooks zu lesen (was derzeit die einzige bekannte Einschränkung darstellt). ).
Der use-Hook ist sehr vielseitig und kann auch anstelle von useEffect verwendet werden, da er zum asynchronen Datenabruf verwendet werden kann. Dies hilft
Erzielen Sie einen übersichtlicheren und prägnanteren Codeblock.
Vorbehalt: Es ist kein Ersatz für useEffect, da es immer noch seine eigenen Einschränkungen hat, die _useEffect _ohne Einschränkungen ausführen wird.
import {use} from "react" const fetchData = async () => { const response = await fetch("https://........"); return response.json() } const userData = () => { const user = use(fetchData()); return ({user.name}); }
useActionState(): Dies ist ein neuer Hook, der bei der Verwaltung von Statusänderungen hilft. Es hilft bei der Verwaltung des ausstehenden Status, der Fehlerbehandlung und der Endgültigkeit
Zustandsaktualisierungen. Der useActionState funktioniert wie der _useReduce, indem er zwei (2) Parameter empfängt: die Funktion, die aufgerufen werden soll, wenn das Formular gesendet wird, und einen _initialState und ein Array mit drei (3) Werten zurückgibt: den state, der jetzt der aktuelle Status ist, wenn es zu einer Statusmutation kommt, eine neue Aktion (formAction), die als Requisite in unserer Formularkomponente übergeben werden kann, um die Serveraktion aufzurufen, und _isPending _, das einen _boolean _value zurückgibt, wenn oder nicht Formular wurde übermittelt.
import { useActionState } from "react"; async function incrementFunction(initialState, formData) { return initialState 1; } function StatefulForm({}) { const [state, formAction, isPending] = useActionState(incrementFunction, 0); console.log(state); return () }
In diesem Beispiel fügt die incrementFunction jedes Mal 1 zum Status hinzu, wenn auf die Schaltfläche geklickt wird. Der initialState ist 0 und erhöht sich dann beim ersten Klicken auf die Schaltfläche auf 1, wodurch sich der state auf 1 ändert und bei jedem zweiten Klick auf die Schaltfläche 1 zum letzten hinzugefügt wird Zustand der Komponente.
useOptimistic() Hook:
Dies ist ein neuer Hook, der es Benutzern ermöglicht, das Ergebnis ihrer Aktion zu sehen, noch bevor die Seiten vollständig geladen sind. Die Seiten werden für den Benutzer auch dann optimistisch gerendert, wenn sich der Server noch im Datenabrufmodus befindet.
In der Hoffnung, dass der Datenabruf erfolgreich ist, zeigt React dem Client das beabsichtigte Ergebnis an, und wenn der Datenabruf fehlschlägt, kehrt React zum Wert des vorherigen Status zurück, um keine falschen Daten anzuzeigen . Diese einzigartige Aktion trägt zu einer nahtlosen und schnellen Anzeige von Daten bei und verbessert so das Benutzererlebnis.
useFormStatus():
Wie der Name schon sagt, gibt uns useFormStatus den Status unseres Formulars oder unserer Formularfelder an. Dieser Hook akzeptiert keine Parameter, gibt aber auf jeden Fall 4 Objekte zurück:
pending: Dies gibt einen booleschen Wert zurück: true oder false. Es gibt true zurück, wenn das Formular gesendet wird, und false, wenn das Formular gesendet wird.
Daten: Wenn das Formular erfolgreich übermittelt wurde, können wir die Informationen des Benutzers oder Objekts wie folgt aus dem Formularfeld abrufen:
(formData.get("name")) (formData.get("address"))
method: Die Standardmethode eines Formulars ist GET, sofern nicht anders angegeben. Wir können die Methode unseres Formulars mit .method erhalten. Wenn wir ein Formular absenden, sollte eine Zeichenfolgenmethodeneigenschaft als POST angegeben werden.
action: Dies ist ein Verweis auf die Funktion, die an die Aktionsstütze in unserem Element übergeben wird.
Der useFormStatus muss immer von einem -Element oder einer Komponente aufgerufen werden, die innerhalb eines gerendert wird.
Es gibt noch einige weitere Updates, über die ich nicht wirklich schreiben kann, damit es Ihnen nicht langweilig wird, so viel lesen zu müssen. Sie können auf die React Docs-Website klicken, um sich einige der anderen Updates anzusehen.
Ich hoffe, Sie hatten viel Spaß beim Lernen mit mir.
Folgen Sie mir gut, wenn Ihnen meine Artikel gefallen haben.
Vielen Dank und eine tolle Woche, meine Freunde.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3