Actualité Remix : v2.3, Nouveaux hooks, flushSync & Vite 5.0
La version 2.3 de Remix vient de sortir. Et tu risques d'aimer son nouveau hook.
Présentation du hook useBlocker
useBlocker te permet de bloquer la navigation interne dans ton application Remix, conditionnellement. Marre d'avoir des utilisateurs qui ne remplissent pas entièrement le formulaire ? Avec ce hook, tu vas pouvoir afficher un composant s'ils essaient de quitter la page. Une fois la navigation bloquée, tu laisses le choix à tes visiteurs de confirmer leur action (quitter la page) ou annuler (rester sur la page).
L'exemple ci-dessous, présent dans la documentation de Remix nous explique comment utiliser ce hook.
Présentation du hook usePrompt (instable)
usePrompt (instable) te permet également de bloquer la navigation interne. Seule différence ? Il utilise la fenêtre native de confirmation de ton navigateur. (Tu n'as pas à créer un composant personnalisé)
Nouveau paramètre flushSync pour la soumission des formulaires
flushSync (instable) n'est pas un hook, mais il s'utilise de pair avec les hooks useSubmit() et useFetcher() pour soumettre les formulaires.
Cette fonctionnalité est similaire à la méthode flushSync de React (qui te permet de commit les changements d'état de manière synchrone)
La version v2.2 de Remix ajoutait le support instable du compilateur Vite. De son côté, Vite est passé en version 5.0, ce qui implique une optimisation des performances.