Konsep State Management pada Flux, Redux, Vuex

Apa yang di maksud dari state management?. apa itu state?

menurut pendapat pribadi saya, state adalah kumpulan data atau informasi yang akan digunakan sesuai dengan kebutuhan.

jadi menurut saya State Management adalah pengelolaan data atau informasi untuk tujuan sesuai dengan kebutuhan.

kenapa menggunakan State Management? State Management akan sangat dirasakan kegunaanya di dalam pembuatan aplikasi berbasis Komponen seperti ReactJS dan VueJS. berikut ini contoh perbedaan penggunaan State Management dan tidak menggunakan State Management.:

Komponen tanpa menggunakan State Management:

Gambar komponen tanpa State Management

pada gambar di atas adalah gambaran bagaimana komponen berinteraksi dengan komponen lain dengan membawa state(state1). bagaiman cara merubah agar state1 berubah datanya di setiap komponen jika ada perubahan pada state1, misalkan perubahan state ada di komponen1? pasti urutanya akan seperti berikut: Komponent1->Komponent2->Komponent3->komponen4->komponen5. mungkin akan tidak begitu pengaruh kalo komponen hanya 5.

tetapi pertanyaanya bagaimana kalo komponen jumlahnya ada 10 atau 20 bahkan 100? pasti akan sangat sulit sekali belum kalo jumlah state ada banyak. dari kondisi tersebut maka munculah State Managemen yang berfungsi untuk memudahkan kita mengelola state.

berikut ini contoh kalo menggunakan State Manasgement:

Gambar komponen menggunakan State Management

pada gambar di atas terlihat jelas bahwa antar komponen tidak saling berkaitan tetapi setiap komponen berkaitan dengan State Management. Jika ada perubahan state1 pada komponen1 maka komponen1 akan mengirim triger(action) ke State Management bahwa ada perubanah di state1, maka State Management akan mengirim perubahan data state1 ke setiap Komponen yang berkaitan.

State Management akan sangat dibutuhkan jika aplikasi yang dibuat memiliki ukuran kompleksitas yang tinggi. sehingga akan mempercepat proses Development.

--

--

Fullstack Developer at Nuliscv.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store