6 TÍng k∏t và h˜Óng phát tri∫n
2.20 Mô hình ho§t đÎng cıa flux
1. Views chính là thành ph¶n làm nhiªm vˆ hi∫n th‡ nÎi dung ˘ng dˆng (có th∫ hi∫u
giËng nh˜thành ph¶n View trong mô hình MVC).
2. Khi ng˜Ìi dùng t˜Ïng tác vÓi ˘ng dˆng làm thay đÍi tr§ng thái (state) cıa ˘ng
dˆng(VD: thêm, s˚a, xóa d˙liªu cá nhân), View s≥thông qua Action g˚i các thông tin thay đÍi tÓi Dispatcher gÁm có :
• action_name: tên cıa Action (VD: ADD_ITEM - thêm s£n ph©m vào gi‰
hàng).
• action_payload: thông tin chi ti∏t nÎi dung muËn g˚i (VD: Object ch˘a thông tin ID, quantity, price, ... cıa s£n ph©m).
3. Sau khi nh™nđ˜Òc thông tin t¯Action, Dispatcher làm nhiªm vˆtruy∑n t£i (broad- cast) nÎi dung nh™nđ˜Òc tÓi các Store đ´ng k˛ l≠ng nghe s¸kiªn thay đÍi t¯tr˜Óc
đó.
4. Store sau khi nh™n thông tin, ti∏n hành c™p nh™t d˙liªu (có th∫hi∫u viªc c™p nh™t d˙ liªu đây giËng viªc c™p nh™t state cıa Component).
5. Sau khi c™p nh™t, Store b≠n s¸kiªn xuËng View đ∫ti∏n hành c™p nh™t hi∫n th‡cho ng˜Ìi dùng.
6. Ngoài ra trong sÏ đÁ trên còn có mÎt thành ph¶n API đ∫ lßy d˙ liªu t¯ Remote Server.
2.3.2.2 Redux
Hình 2.21: Redux
TÍng quan:
Redux là mÎt th˜viªn Javascript giúp t§o thành mÎt lÓp qu£n l˛ tr§ng thái cıa˘ng dˆng. Redux giúp chúng ta có th∫ vi∏t nh˙ng ˘ng dˆng có các luÁng x˚ l˛ nhßt quán, ch§y trên nhi∑u môi tr˜Ìng khác nhau (client, server, native) và dπ dàng ki∫m th˚.
Redux hÂc h‰i ki∏n trúc cıa Flux nh˜ng nó l˜Òc b‰ đi s¸ ph˘c t§p không c¶n thi∏t.
• Redux không có khái niªm DISPATCHER.
• Redux chø có mÎt STORE duy nhßt thay vi nhi∑u STORE nh˜cıa Flux.