dva的用法_(入门)手把手带你更简单的使用dva

本文是dva.js的入门教程,重点介绍了dva的基本概念和核心特性,包括基于redux和redux-saga的数据流方案、内置react-router和fetch。通过实例展示了如何初始化dva应用、配置路由、创建数据模型以及使用connect方法连接组件和model。旨在帮助有react+redux基础的开发者快速上手dva。
摘要由CSDN通过智能技术生成

dva 首先是一个基于 redux 和 redux-saga 的数据流方案,然后为了简化开发体验,dva 还额外内置了 react-router 和 fetch,所以也可以理解为一个轻量级的应用框架。

特性

易学易用,仅有 6 个 api,对 redux 用户尤其友好,配合 umi 使用后更是降低为 0 API

elm 概念,通过 reducers, effects 和 subscriptions 组织 model

插件机制,比如 dva-loading 可以自动处理 loading 状态,不用一遍遍地写 showLoading 和 hideLoading

支持 HMR,基于 babel-plugin-dva-hmr 实现 components、routes 和 models 的 HMR

前言

我的个人理解:dva的核心其实是 saga的封装,将action,reducer等等全部引入到model中。

过多的废话也就不再阐述了,欲知详情,请看官网,本文的目的就是快速开始,让一个拥有react+redux基础的人可以快速使用dva.js

"深入"

配置环境安装依赖之类的就不多说了,请看官方文档

dva new dva-quickstart

我们得到初始项目,目录结构如下:

接下里将会逐个目录解释,请注意看注释

入口文件 index.js

import dva from 'dva'; //引入依赖

import './index.css';

// 1. Initialize

const app = dva(); //初始化 dva应用

// 2. Plugins

// app.use({}); //使用中间件

// 3. Model

// app.model(require('./models/example').default); // 加载model层 (后面详细解释model)

// 4. Router

app.router(require('./router').default); // 引入router

// 5. Start

app.start('#root'); // 挂载dva应用

基本上就是这样,多余的没什么好说的

路由匹配 router.js

import React from 'react';

import { Router, Route, Switch } from 'dva/router'; // 引入 router,用的就是 react-router

import IndexPage from './routes/IndexPage'; // 引入路由绑定的高阶组件

// 按照从上到下的顺序开始匹配url规则,匹配到了就是展示对应的组件view

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值