web-dev-qa-db-fra.com

Devez-vous jamais utiliser this.setState () en utilisant redux?

Devez-vous utiliser this.setState() lors de l’utilisation de redux? Ou devriez-vous toujours envoyer des actions et compter sur des accessoires?

100
Martol1ni

Les utilisations claires de setState seraient pour les composants d'interface utilisateur qui ont un état d'affichage local, mais qui ne sont pas pertinents pour l'application globale. Par exemple, un booléen indiquant si un menu déroulant spécifique est affiché activement n'a pas besoin d'être dans un état global, il est donc plus facilement contrôlé par l'état du composant de menu.

D'autres exemples peuvent inclure l'état de réduction/expansion des lignes dans un affichage en accordéon d'une hiérarchie. Ou éventuellement l'onglet actuellement sélectionné dans la navigation par onglets. Cependant, dans ces deux exemples, vous pouvez toujours choisir de gérer l'état de l'interface utilisateur globalement. Par exemple, cela serait nécessaire si vous souhaitez conserver l'état de développement/réduction dans la mémoire du navigateur afin qu'il soit préservé par l'actualisation de la page.

En pratique, il est généralement plus simple d'implémenter de tels éléments d'interface utilisateur avec un état local et de les reformuler en état global en fonction des besoins.

132
mjhm