Section courante

A propos

Section administrative du site

useOptimistic

Utilise l'optimisation
React

Syntaxe

const [optimisticState, addOptimistic] = useOptimistic(state, updateFn);

useOptimistic est un crochet React vous permettant de mettre à jour l'interface utilisateur de manière optimiste.

Référence

useOptimistic(state, updateFn)

useOptimistic est un crochet React permettant d'afficher un état différent pendant l'exécution d'une action désynchronisée. Il accepte un état en paramètre et renvoie une copie de cet état, qui peut être différent pendant la durée d'une action désynchronisée, telle qu'une requête réseau. Vous fournissez une fonction qui prend l'état actuel et les données d'entrée de l'action, et renvoie l'état optimiste à utiliser pendant l'exécution de l'action.

Cet état est appelé «optimiste» car il est généralement utilisé pour présenter immédiatement à l'utilisateur le résultat de l'exécution d'une action, même si celle-ci prend du temps.

  1. import { useOptimistic } from 'react';
  2.  
  3. function AppContainer() {
  4.   const [optimisticState, addOptimistic] = useOptimistic(
  5.     state,
  6.     // updateFn
  7.     (currentState, optimisticValue) => {
  8.       // fusionner et renvoyer un nouvel état avec une valeur optimiste
  9.     }
  10.   );
  11. }

Paramètres

Nom Description
state la valeur à renvoyer initialement et lorsqu'aucune action n'est en attente.
updateFn(currentState, optimisticValue) Une fonction prenant l'état actuel et la valeur optimiste passée à addOptimistic et renvoie l'état optimiste résultant. Il doit s'agir d'une fonction pure. updateFn prend deux paramètres : currentState et optimisticValue. La valeur de retour sera la valeur fusionnée de currentState et optimisticValue.

Valeurs renvoyées

Nom Description
optimisticState L'état optimiste résultant. Il est égal à state, sauf si une action est en attente, auquel cas il est égal à la valeur renvoyée par updateFn.
addOptimistic addOptimistic est la fonction de répartition à appeler en cas de mise à jour optimiste. Elle prend un argument, optimisticValue, de n'importe quel type, et appelle updateFn avec state et optimisticValue.

Utilisation

Par exemple, lorsqu'un utilisateur saisit un message dans le formulaire et clique sur le bouton «Envoyer», le crochet useOptimistic permet au message d'apparaître immédiatement dans la liste avec l'étiquette «Envoi...», avant même son envoi au serveur. Cette approche «optimiste» donne une impression de rapidité et de réactivité. Le formulaire tente ensuite d'envoyer le message en arrière-plan. Une fois que le serveur confirme la réception du message, l'étiquette «Envoi...» disparaît.



Dernière mise à jour : Mercredi, le 10 septembre 2025