首先是乙個基於 redux 和 redux-saga 的資料流方案,然後為了簡化開發體驗,dva 還額外內建了 react-router 和 fetch,所以也可以理解為乙個輕量級的應用框架。
擴充套件:什麼是redux
官方解釋:redux 是 js 應用的可**狀態的容器。 可以理解為全域性資料狀態管理工具(狀態管理機),用來做元件通訊等。
注意 是全域性資料狀態管理工具
為什麼使用redux
我們將上圖的乙個圓圈看做是乙個元件,可以看到他們都有頂級元件,元件之下還巢狀了元件,還有各種兄弟元件,他們之間都要進行資料的互動,
在沒有redux的時候,如果是左圖,我們現在的實現方式是什麼樣的呢,通過元件傳值,但這種方式,傳值會非常複雜,麻煩,而且**冗餘,尤其後期維護困難。基礎稍差的前端來維護,或者換乙個人來維護可能直接維護不了。
但如果使用了redux ,如右圖,不管有多少元件,使用的都是同乙個源,維護簡單,傳值方便,只需要稍有基礎的,都可以快速上手,維護簡單。而本文中所說的dvajs 就是在redux的基礎上擴充套件的乙個輕量級框架。
易學易用,僅有6個api,配合 umi 使用後更是降低為 0 api
elm 概念,通過 reducers, effects 和 subscriptions 組織 model
外掛程式機制,比如 dva-loading 可以自動處理 loading 狀態,不用一遍遍地寫 showloading 和 hideloading
支援 hmr,基於 babel-plugin-dva-hmr 實現 components、routes 和 models 的 hmr
我實際工作中使用的是阿里的andt框架 這裡就直接安裝使用現成的了。
1 新增頁面
export default2 定義modelclass workplace extends purecomponent
];return
(
); }
}
export default這個 model 裡:, effects: ,
reducers: ,
};
connect方式有很多種說我們這裡都講下,因為我發現在實際工作中有人因為不會使用connect而放棄使用dva,使用原始的元件傳值。
第一種 使用@connect
import from 'dva';第三種@connect(() =>())
export
default
class workplace extends purecomponent from 'dva';
class workplace extends purecomponent ) =>())(workplace );
const testcomponent = connect(() =>())((props)=>)model增加資料互動方法dvatestservice 是andt 與後台互動的,可以自行了解下或者用其他方式替代
import from '@/services/dvatestservice.js';頁面使用dvaexport
default
, effects: , ) );}}
},reducers: ) }},
};
class workplace extends purecomponent = this以上乙個完成的 dva使用流程 就結束了.props.dvatest;
// 使用this.props.dispatch呼叫model方法
this
.props.dispatch(
});} render()
];console.log(
this
.props.dvatest)
const = this
.props.dvatest;
return
(
); }
}export
default connect(() =>())(workplace);
dva上手 簡單例子學習dva
dva是簡化的redux封裝庫,幫你自動化了redux 架構一些繁瑣的步驟,簡化了傳統redux使用過於複雜的問題。dva把乙個路由下的state reducer寫到一塊,存放到model裡面,清晰明了,邏輯簡單。export default subscriptions 各種處理非同步的操作 eff...
ibatis 快速上手
簡介 例子 現在我們我們通過乙個簡單的案例,了解如何通過ibatis解決資料訪問問題。現在有有乙個資料庫,資料庫裡面有一張人員資訊表 需求是這樣 通過乙個web應用程式顯示人員資訊表裡面的資訊,並且可以新增 修改 刪除人員記錄 乙個並不複雜的案例,但是它覆蓋所有開發首先要學習的內容。第1步 the ...
Pro C快速上手
條件 winxp vc 6 裝在c program files microsoft visual studio vc98 oracle 9 裝在e oracle ora90 步驟 1 dos視窗設定環境變數,預編譯 oralce 給的關於pro c 例子 2 設定vc 環境 3 編譯執行 c程式。具...