Redux terutama ditujukan untuk "status aplikasi". Artinya, apa pun yang terkait dengan logika aplikasi Anda. Tampilan yang dibangun di atasnya adalah cerminan dari status tersebut, tetapi tidak harus secara eksklusif menggunakan penampung status tersebut untuk semua yang dilakukannya.
Ajukan saja pertanyaan-pertanyaan ini: Apakah status ini penting untuk aplikasi lainnya? Akankah bagian lain dari aplikasi berperilaku berbeda berdasarkan status itu? Dalam banyak kasus kecil, bukan itu masalahnya. Ambil menu tarik-turun: Fakta bahwa itu buka atau tutup mungkin tidak akan berpengaruh pada bagian lain dari aplikasi. Jadi, menghubungkannya ke toko Anda mungkin berlebihan. Ini tentu saja merupakan opsi yang valid, tetapi tidak benar-benar memberi Anda keuntungan apa pun. Anda lebih baik menggunakanthis.state
dan menyebutnya sehari.
Dalam contoh khusus Anda, apakah warna tombol itu diubah untuk membuat perbedaan di bagian lain aplikasi? Jika itu semacam toggle hidup / mati global untuk sebagian besar aplikasi Anda, itu pasti milik toko. Tetapi jika Anda hanya mengubah warna tombol saat mengklik tombol, Anda dapat membiarkan status warna ditentukan secara lokal. Tindakan mengklik tombol mungkin memiliki efek lain yang memerlukan pengiriman tindakan, tetapi itu terpisah dari pertanyaan sederhana tentang warna apa yang seharusnya.
Secara umum, cobalah untuk menjaga status aplikasi Anda sekecil mungkin. Anda tidak harus mendorong semua yang ada di sana. Lakukan ketika Anda harus atau sangat masuk akal untuk menyimpan sesuatu di sana. Atau jika itu membuat hidup Anda lebih mudah saat menggunakan Dev Tools. Tapi jangan terlalu membebani kepentingannya.