Redux est principalement destiné à «l'état de l'application». Autrement dit, tout ce qui concerne la logique de votre application. La vue construite dessus est le reflet de cet état, mais n'a pas à utiliser exclusivement ce conteneur d'état pour tout ce qu'il fait.
Posez simplement ces questions: cet état est-il important pour le reste de l'application? Les autres parties de l'application se comporteront-elles différemment en fonction de cet état? Dans de nombreux cas mineurs, ce ne sera pas le cas. Prenez un menu déroulant: le fait qu'il soit ouvert ou fermé n'aura probablement aucun effet sur les autres parties de l'application. Donc, le câbler à votre magasin est probablement exagéré. C'est certainement une option valable, mais ne vous rapporte pas vraiment d'avantages. Vous feriez mieux de l'utiliser this.state
et de l'appeler un jour.
Dans votre exemple particulier, la couleur de ce bouton est-elle activée pour faire une différence dans d'autres parties de l'application? S'il s'agit d'une sorte de bascule marche / arrêt globale pour une grande partie de votre application, elle appartient définitivement au magasin. Mais si vous ne faites que basculer une couleur de bouton lorsque vous cliquez sur le bouton, vous pouvez laisser l'état de couleur défini localement. L'action de cliquer sur le bouton peut avoir d'autres effets qui nécessitent une distribution d'action, mais cela est distinct de la simple question de savoir quelle couleur il devrait être.
En général, essayez de garder l'état de votre application aussi petit que possible. Vous n'êtes pas obligé de tout pousser là-dedans. Faites-le quand vous devez ou il est très logique de garder quelque chose là-bas. Ou si cela vous facilite la vie lorsque vous utilisez les outils de développement. Mais ne surchargez pas trop son importance.