Question d'entretien pour Développeur React

Expliquez-moi les Actions dans React 19 et la place de useActionState là-dedans.

Ce que le recruteur cherche à évaluer, comment structurer votre réponse et un exemple parlé à adapter.

Réponse rapide

Une Action est une fonction asynchrone que vous confiez à React, en général via la prop action d'un formulaire ou via startTransition. React gère l'état pending, les erreurs et l'ordonnancement à votre place, au lieu de vous faire câbler des booléens. useActionState prend une action et un état initial, et renvoie l'état courant, une action enveloppée à passer au formulaire, et un indicateur isPending. useFormStatus lit l'état pending depuis un composant imbriqué, et useOptimistic rend le résultat attendu immédiatement.

Pourquoi les recruteurs posent cette question

Cela dit au recruteur si vous vous êtes tenu à jour, puisque les Actions remplacent un tas de code répétitif que la plupart des bases de code React traînent encore. Il veut voir que vous comprenez que la gestion du pending et des erreurs vient de la machinerie des transitions, et que vous savez expliquer les mises à jour optimistes et leur retour en arrière. C'est aussi un bon indicateur de savoir si vous avez livré des mutations côté serveur récemment.

Comment structurer votre réponse

  • Définissez une Action comme une fonction asynchrone dont React gère le cycle de vie.
  • Expliquez ce que renvoie useActionState et où va chaque morceau.
  • Ajoutez useFormStatus et useOptimistic et ce qu'ils résolvent.
  • Comparez avec l'état de chargement et d'erreur manuel que vous écriviez avant.

Exemple de réponse

Exemple parlé, à la première personne

Avant les Actions, chaque mutation voulait dire les mêmes quatre morceaux d'état : chargement, erreur, résultat, et quelque chose pour empêcher les doubles soumissions. Les Actions replient tout ça dans React. J'écris une fonction asynchrone qui fait le travail, je la donne à useActionState avec un état initial, et je récupère l'état courant, une action à mettre sur la prop action du formulaire, et isPending. React l'exécute dans une transition, donc l'indicateur pending et l'ordonnancement viennent gratuitement, et si deux soumissions se courent après, c'est le résultat le plus récent qui gagne plutôt que l'appel réseau qui répond en dernier. Pour un bouton de soumission enfoui dans le formulaire, j'utilise useFormStatus pour qu'il lise le pending sans faire descendre des props. Et pour quelque chose comme une zone de commentaires, j'ajoute useOptimistic pour afficher le commentaire tout de suite, et si l'action échoue, React ramène l'état optimiste vers l'état réel tout seul. Le gain concret, c'est qu'un composant de formulaire passe d'environ soixante-dix lignes à vingt, et que les cas limites ne sont plus à moi de les retenir.

Vous passez cet entretien bientôt ? GhostPilot écoute votre appel en direct, repère la question dès qu'elle est posée et affiche une réponse structurée à l'écran en temps réel. Essayez-le lors de votre prochain entretien blanc, ou prenez un Session Pass à $29, sans abonnement, pour le jour J.

Voir comment ça marche

Questions de relance à prévoir

  • Qu'arrive-t-il à l'état optimiste si l'action échoue ?
  • Comment faites-vous remonter une erreur de validation vers le formulaire depuis une action ?
  • Comment se comportent les Actions avant la fin de l'hydratation ?

Autres questions pour Développeur React

Votre recruteur posera sa propre version de celle-ci. Collez votre véritable fiche de poste dans le Question Predictor gratuit et obtenez les 20 questions que ce poste a le plus de chances de poser, avec ce que chacune cherche vraiment à sonder.

Prédire mes questions

Répétez les questions difficiles avant qu'on vous les pose

Entraînez-vous avec un copilote en direct, puis présentez-vous prêt. Un Session Pass à $29 vous accompagne pendant l'entretien, sans abonnement et sans engagement.

Obtenir GhostPilot