Redux è destinato principalmente allo "stato dell'applicazione". Cioè, tutto ciò che riguarda la logica dell'applicazione. La vista costruita sopra è un riflesso di quello stato, ma non deve utilizzare esclusivamente quel contenitore di stato per tutto ciò che fa.
Poni semplicemente queste domande: questo stato è importante per il resto dell'applicazione? Altre parti dell'applicazione si comporteranno diversamente in base a quello stato? In molti casi minori, non sarà così. Prendi un menu a discesa: il fatto che sia aperto o chiuso probabilmente non avrà alcun effetto su altre parti dell'app. Quindi, collegarlo al tuo negozio è probabilmente eccessivo. È certamente un'opzione valida, ma non ti procura alcun vantaggio. È meglio usarlo this.state
e chiamarlo un giorno.
Nel tuo esempio particolare, il colore di quel pulsante è attivato per fare la differenza in altre parti dell'applicazione? Se è una sorta di attivazione / disattivazione globale per una parte importante della tua applicazione, appartiene sicuramente allo store. Ma se stai solo cambiando il colore di un pulsante quando fai clic sul pulsante, puoi lasciare lo stato del colore definito localmente. L'azione di fare clic sul pulsante potrebbe avere altri effetti che richiedono l'invio di un'azione, ma questo è separato dalla semplice domanda di quale colore dovrebbe essere.
In generale, cerca di mantenere lo stato dell'applicazione il più piccolo possibile. Non devi spingere tutto lì dentro. Fallo quando devi o ha molto senso tenere qualcosa lì. O se ti semplifica la vita quando usi Dev Tools. Ma non sovraccaricare troppo la sua importanza.