redux是js的狀態(tài)容器捌锭,提供可預(yù)測化的狀態(tài)管理昼汗。
應(yīng)用中所有的state都以一個對象樹的形式儲存在一個單一的store中朗涩,唯一改變state的方法就是觸發(fā)action尸诽,一個描述發(fā)生什么的對象甥材。為了描述action如何改變state樹,你需要編寫reducers性含,
你應(yīng)該把要做的修改變成一個普通對象洲赵,這個對象被叫做action,而不是直接修改state商蕴,然后編寫專門的函數(shù)來決定每個action如何改變應(yīng)用的state叠萍,這個函數(shù)被叫做reducer。
redux的三大原則:
1.單一數(shù)據(jù)源:
整個應(yīng)用的state被存儲在一顆object tree中绪商,并且這個object tree只存在于唯一一個store中苛谷。
2.state是只讀的,
唯一改變state的方法就是觸發(fā)action格郁,action是一個用于描述已發(fā)生時間的普通對象腹殿。
3.使用純函數(shù)來執(zhí)行修改
為了描述action如何改變state tree独悴,你需要編寫reducers。