這個框架是在開始學習React的時候寫的,當時主要是以爲Redux的事件流過於複雜,以及考慮到在多層的props的傳遞中的代碼複雜度的問題,嘗試着完成了這樣一個框架,經過維護一個全局的數據管理器管理storage來部分替代Redux的使用,將storage中的數據直接映射到組件的state中。具體代碼和示例能夠見個人GitHub:https://github.com/alexxyzeng/easy-react-router-4react
1.經過建立數據管理器DataComm的單例,管理全局storage,實現基於ReactJS框架下任意組件之間的數據傳遞;git
2.抽出具體的處理邏輯到Action中,避免在組件中直接處理太多的事件邏輯github
1.引入自定義的basecomp.js,建立繼承自BaseComp的的自定義組件,讓它擁有BaseComp基類中定義的方法;框架
2.編寫自定義Action,並調用DataComm單例註冊該Action;學習
3.在自定義組件中調用exec(),調用指定的Action;this
4.在自定義組件中經過bindData(),將獲取到的數據綁定到組件的state中spa
/*繼承
* 本方法實現對指定Action的調用,並傳遞參數給Action中的對應方法進行處理
* Action.actionType: 第一個參數,必選,包括指定的方法集名稱(Action)和方法名稱(actionType),以"."分隔
* arg1, arg2, ...: 傳遞給指定方法的參數,可選
this.exec(Action.actionType, arg1, arg2,....) {
#####/*
* 實現全局storage中的指定數據和組件state中指定數據的綁定
* stateProperty : 組件state中要綁定的數據的名稱
#####*/
this.bindData(property, stateProperty) {
#####}