dva之前有了解嗎
dva之前有了解嗎
這個其實是支付寶整合的一套框架,集成了 (redux + react-router + redux-saga 等)的一層輕量封裝。dva 是 framework,不是 library,類似 emberjs。
他最核心的是提供了 app.model 方法,用于把 reducer, initialState, action, saga 封裝到一起。
app.model({
namespace: 'products',
state: {
list: [],
loading: false,
},
subscriptions: [
function(dispatch) {
dispatch({type: 'products/query'});
},
],
effects: {
['products/query']: function*() {
yield call(delay(800));
yield put({
type: 'products/query/success',
payload: ['ant-tool', 'roof'],
});
},
},
reducers: {
['products/query'](state) {
return { ...state, loading: true, };
},
['products/query/success'](state, { payload }) {
return { ...state, loading: false, list: payload };
},
},
});
namespace - 對應 reducer 在 combine 到 rootReducer 時的 key 值
state - 對應 reducer 的 initialState
subscription - elm@0.17 的新概念,在 dom ready 后執行,這里不展開解釋
effects - 對應 saga,并簡化了使用
reducers - 相當于數據模型
// 如何創建一個dva項目
$ npm install dva-cli -g
$ dva new myapp && cd myapp
$ npm start

相關推薦HOT
更多>>
談談Vue路由模式,路由有哪些模式
談談Vue路由模式,路由有哪些模式,在vue-router路由對象中,路由有兩種模式:hash和history,而默認的是hash模式.詳情>>
2023-04-18 15:54:22
SEO優化
SEO優化,1、合理的title、description、keywords:搜索對著三項的權重逐個減小,title值強調重點即可;description把頁面內容高度概括,不可過...詳情>>
2023-04-03 15:11:51
Python數據生產器
Python數據生產器,在軟件開發、測試或者數據分析過程中,有時候會需要一些測試數據。做測試的時候,需要模擬真實的環境,但是又不能直接使用真...詳情>>
2023-03-28 15:56:13
Java集合是什么?Java集合詳解
Java集合是Java編程語言中的一個重要概念,用于存儲、管理和處理數據。Java集合框架提供了一組接口和類,用于實現常見的數據結構,如列表、棧、...詳情>>
2023-03-20 19:12:47熱門推薦
技術干貨






