Quoi de neuf ?
React optimise automatiquement les rendus sans intervention manuelle.
Plus besoin de : useMemo(), useCallBack(), React.memo
Pourquoi le compilateur React ?
L'optimisation manuelle était fastidieuse pour les développeurs.
React gère désormais automatiquement les changements d'état et la logique de rendu.
Avantages
React décide quoi restituer et quand.
Réduit les efforts des développeurs.
base de code plus propre et plus simple.
alimente actuellement Instagram en production.
Quoi de neuf ?
composants qui s'exécutent sur le serveur et non sur le client.
Précédemment lancé par Next.js (par défaut dans la V13).
Dans React 19, les composants serveur sont intégrés nativement.
Avantages
Optimisé pour le référencement : améliore l'optimisation des moteurs de recherche.
Augmentation des performances : chargement des pages initiales plus rapide.
Exécution côté serveur : gère efficacement les tâches telles que les appels d'API.
Comment utiliser les composants serveur ?
Côté client (par défaut) : tous les composants React s'exécutent côté client.
Côté serveur : ajoutez « utiliser le serveur » comme première ligne de votre composant :
'use server'; export default async function requestUsername(formData) { const username = formData.get('username'); return canRequest(username) ? 'successful' : 'failed'; }
Notes clés
Les composants du serveur ne s'exécutent pas sur le client.
Combinés aux actions, ils rationalisent les tâches telles que la gestion des formulaires et les requêtes API.
Les utilisateurs de Next.js peuvent déjà exploiter les composants du serveur ; React 19 apporte cela directement à React.
function handleSubmit() { setloading (true); try { const result = await saveData(); setData(result); } catch (err) { setError(err); } finally { setloading(failse); } }
const [state, formAction] = useActionState(async (prevState, formData) => { const result = await saveData(formData); return result; }, null);
USEACTIONSTATE : GESTION DES FORMULAIRES
Gère automatiquement l'état de soumission et la validation du formulaire.
const [isSubmitting, setIsSubmitting] = useState(false); async function handleSubmit() { setIsSubmitting(true); try { await submitForm(); } finally { setIsSubmitting(false); } }
useActionState simplifie la soumission du formulaire.
const [state, formAction] = useActionState(async (prevState, formData) => { return await submitForm(formData); });
USEFORMSTATUS : SUIVRE L'ÉTAT DU FORMULAIRE
Accédez aux états du formulaire comme en attente, succès ou erreur.
const status = useFormStatus(); <button type = "submit" disabled = { status.pending }> { status.pending ? "Submitting..." : "Submit" } </button>
USEOPTIMISTIC : MISES À JOUR OPTIMISTES DE L'UI
Simplifie les mises à jour optimistes pour une meilleure UX.
Vous avez mis à jour l'interface utilisateur avec optimisme, ils ont géré les retours.
'use server'; export default async function requestUsername(formData) { const username = formData.get('username'); return canRequest(username) ? 'successful' : 'failed'; }
useOptimistic le rend déclaratif.
function handleSubmit() { setloading (true); try { const result = await saveData(); setData(result); } catch (err) { setError(err); } finally { setloading(failse); } }
Qu'est-ce que l'utilisation() ?
Le hook use() simplifie la récupération de données asynchrones et la consommation de contexte en gérant directement les promesses.
Gestion manuelle des états asynchrones.
const [state, formAction] = useActionState(async (prevState, formData) => { const result = await saveData(formData); return result; }, null);
Récupérez directement les données asynchrones et résolvez les promesses
const [isSubmitting, setIsSubmitting] = useState(false); async function handleSubmit() { setIsSubmitting(true); try { await submitForm(); } finally { setIsSubmitting(false); } }
Avantages :
Que sont les composants du serveur ?
Les composants du serveur s'affichent sur le serveur et envoient des résultats légers au client, améliorant ainsi les performances.
Vous deviez utiliser useEffect pour la récupération de données et SSR nécessitait des outils complexes.
const [state, formAction] = useActionState(async (prevState, formData) => { return await submitForm(formData); });
Les composants du serveur React s'intègrent de manière transparente.
const status = useFormStatus(); <button type = "submit" disabled = { status.pending }> { status.pending ? "Submitting..." : "Submit" } </button>
Avantages :
React19 améliore la façon dont les ressources telles que les images et les scripts se chargent en arrière-plan.
Vous aviez besoin de configurations manuelles.
function handleClick() { setItems([...items, newItem]); saveItem(newItem).catch(() => setItems(items)); // Revert on error }
Les actifs se chargent désormais efficacement sans intervention.
const [optimisticItems, addOptimisticItem] = useOptimistic(items); function handleClick() { addOptimisticItem(newItem); }
Avantages :
React 19 apporte :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!