全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货  >  详情

dva之前有了解吗

来源:千锋教育
发布人:gxy
2023-04-20

推荐

在线提问>>

  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

 

相关文章

dva之前有了解吗

谈谈Vue路由模式,路由有哪些模式

Python数据分析:数据分析概述

从零开始学Java之包装类有哪些?

实现垂直居中的几种方法,不知道宽高的情况下如何实现元素水平垂直居中?

开班信息 更多>>

课程名称
全部学科
咨询

HTML5大前端

Java分布式开发

Python数据分析

Linux运维+云计算

全栈软件测试

大数据+数据智能

智能物联网+嵌入式

网络安全

全链路UI/UE设计

Unity游戏开发

新媒体短视频直播电商

影视剪辑包装

游戏原画

    在线咨询 免费试学 教程领取