Dva应用框架

简介: Dva应用框架
什么是Dva?

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

官方地址:https://dvajs.com/

// 1.导入dva
// 因为dva里面内置了react-router,react,react-Dom,react-saga,react-redux,因此这些都再次导入
import dva,{connect} from 'dva'
// 2.创建实例对象
let app  =  new dva();
let homeModel = {
  // 指定命名空间区分不同的model
  namespace:'home',
  // 保存state中的数据
  state: {
    count: 666
  },
  // 相当于react-reducer,保存当前命名空间的一个reducer
  reducers:{
    // add是key,相当于一个type
    // {type:Add, playload}
    add:(state,action)=>{
      return { count: state.count + action.count }
    },
    sub:(state,action)=>{
      return { count: state.count - action.count }
    }
  }
}
const mapStateToProps = (state) =>{
  return{count: state.home.count}
}
const mapDispatchToProps = (dispatch) =>{
  return {
    increment(){
      dispatch({type:"home/add",count:1})
    },
    decrement(){
      dispatch({type:"home/sub",count:1})
    }
  }
}
const AdvHome = connect(mapStateToProps,mapDispatchToProps)(Home)
//3.定义组件
function Home(props){
  return(
    <div>
      Home
      <p>{props.count}</p>
      <button onClick={()=>props.increment()}>增加</button>
      <button onClick={()=>props.decrement ()}>减少</button>
    </div>
  )
}
function App(){
  return(
    <div>
      <AdvHome/>
    </div>
  )
}
// 4.注册路由表,告诉dva要渲染那个组件
app.router(()=><App/>);
// 相当于react-saga,使用model,告诉dva使用哪个model
app.model(homeModel)
//5.启动dva并且把它 渲染到index.html的root上
app.start('#root')

73.png

运行效果.png


72.png

增加.png


71.png

减少.png

感觉这个玩意咋说呢,写法有点复杂,但是核心思想很值得借鉴,不过有点耗费时间成本,我今天因为reducers写成了reducer找了半小时bug,差点把我气坏了,主要是也没有任何的报错提示,难怪state中的数字可以显示,但是按按钮一直效果,气死我了


目录
相关文章
|
7月前
|
开发框架 自然语言处理 前端开发
【第25期】一文读懂React企业级前端应用框架Umi
【第25期】一文读懂React企业级前端应用框架Umi
374 0
|
存储 JavaScript 前端开发
“探索前后端分离架构下的Vue.js应用开发“
“探索前后端分离架构下的Vue.js应用开发“
115 0
|
2月前
|
存储 JavaScript 前端开发
掌握现代Web开发的基石:深入理解React与Redux
【10月更文挑战第14天】掌握现代Web开发的基石:深入理解React与Redux
35 0
|
2月前
|
前端开发 JavaScript UED
构建现代Web应用:使用React框架打造单页面应用
【10月更文挑战第9天】构建现代Web应用:使用React框架打造单页面应用
|
7月前
|
前端开发 JavaScript 安全
使用React、TypeScript和Ant Design构建现代化前端应用
使用React、TypeScript和Ant Design构建现代化前端应用
207 0
|
7月前
|
开发框架 资源调度 前端开发
Umi框架
Umi框架
326 0
|
JavaScript 前端开发 测试技术
Vite2 + Vue3 + TypeScript + Pinia 搭建一套企业级的开发脚手架
Vite2 + Vue3 + TypeScript + Pinia 搭建一套企业级的开发脚手架
783 88
Vite2 + Vue3 + TypeScript + Pinia 搭建一套企业级的开发脚手架
|
前端开发 JavaScript 算法
个人开源的 React like 框架
一个完善的React like 框架,开箱即用
|
JavaScript 前端开发
Dva 初体验
dva 首先是一个基于 redux 和 redux-saga 的数据流方案,然后为了简化开发体验,dva 还额外内置了 react-router 和 fetch,所以也可以理解为一个轻量级的应用框架。
350 0
|
前端开发 JavaScript
第十三章 webpack5项目搭建React-Cli(开发模式)
详细介绍搭建React-cli开发模式配置的过程