Cßu trúc
• Action:Làm nhiªm vˆtruy∑n d®n d˙liªu tÓi Dispatcher ( ˜Òc coi nh˜các Helper Method).
• Dispatcher: Nh™n thông tin t¯ Actions, truy∑n t£i d˙ liªu (payload) tÓi các nÏi ã ´ng k˛nh™n thông tin.
• Stores: Là nÏi l˜u tr˙ tr§ng thái và các logic cıa hªthËng, ây chính là nÏi s≥ ´ng k˛ nh™n d˙liªu vÓi Dispatcher.
• Views:Chính là các React Components, làm nhiªm vˆnh™n các tr§ng thái (state) t¯Stores và truy∑n d˙liªu (d˜Ói d§ng props) cho các thành ph¶n con.
3.4.2 Redux
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˚.
Nguyên l˛ ho§t Îng
• NguÁn d˙ liªu tin c™y duy nhßt (Single source of truth):
Chúng ta s≥dπdàng t§o ra mÎt cây tr§ng thái Ïn , cÙng dπ ki∫m tra, s˚a lÈi trong˘ng dˆng hÏn nh˙ng cây ph˘c t§p. Cây tr§ng thái Ïn cÙng cho phép chúng ta nhßt quán trong viªc phát tri∫n hªthËng, tËc Î nhanh hÏn trong chu trình phát tri∫n.
• Các tr§ng thái chøcó th∫ Âc (State is read-only):
∫tránh các Views ho∞c các hàm gÂi l§i tr¸c ti∏p làm thay Íi sai các tr§ng thái, Redux có cÏch∏chøcó mÎt cách thay Íi tr§ng thái b¨ng cách ch§y mÎt "Action". Các hành Îng này là mÎt "Plain Object", qua các object này, chúng ta có th∫diπn t£ các˛ ‡nh làm thay
Íi các tr§ng thái.
• Chøcó th∫t§o nh˙ng thay Íi b¨ng hàm nguyên thı(Changes are made with pure functions). ∫có th∫có th∫th¸c hiªn nh˙ng thay Íi, Redux s˚dˆng reducer là các hàm nguyên thıy, chúng lßy nh˙ng state hiªn t§i, gÂi các action ã ˜Òc khai báo sau ó tr£v∑state mÓi theo yêu c¶u.