为了账号安全,请及时绑定邮箱和手机立即绑定

dva antd的搭建与简易的todolist

标签:
WebApp redux React

最近公司上马的新项目用的是react+dva+antd,所以学着弄了下,话不多说具体如下:

react项目的推荐目录结构(如果使用dva脚手架创建,则自动生成如下)

https://img1.sycdn.imooc.com//5c9b3869000167d812400744.jpg

1、安装dva-cli (通过 npm 安装 dva-cli 并确保版本是 0.9.1 或以上。)

https://img1.sycdn.imooc.com//5c9b2ccc0001605a14840198.jpg

2、安装完 dva-cli 之后,就可以在命令行里访问到 dva 命令。现在,你可以通过 dva new 创建新应用。

https://img1.sycdn.imooc.com//5c9b2d0e0001e54014680108.jpg

这会创建 dva-quickstart 目录,包含项目初始化目录和文件,并提供开发服务器、构建脚本、数据 mock 服务、代理服务器等功能。

3、 cd 进入 dva-quickstart 目录,并启动开发服务器:

https://img1.sycdn.imooc.com//5c9b2d6a0001281914780156.jpg

几秒钟后,你会看到以下输出:

https://img1.sycdn.imooc.com//5c9b2d910001106914780416.jpg

在浏览器里打开 http://localhost:8000 ,你会看到 dva 的欢迎界面。

4、使用antd

通过 npm 安装 antd 和 babel-plugin-import 。babel-plugin-import 是用来按需加载 antd 的脚本和样式的

https://img1.sycdn.imooc.com//5c9b2dd800015f6614760118.jpg

编辑 .webpackrc,使 babel-plugin-import 插件生效。

https://img1.sycdn.imooc.com//5c9b2e0e00014f2519840320.jpg

5、定义路由

首先第一步是创建路由,路由可以想象成是组成应用的不同页面。

新建routes/todos.js

https://img1.sycdn.imooc.com//5c9b2fb90001412d20300440.jpg

添加路由信息到路由表,编辑 router.js 

https://img1.sycdn.imooc.com//5c9b301b0001b56219120060.jpg

https://img1.sycdn.imooc.com//5c9b2ff90001199919020078.jpg

然后在浏览器里打开 http://localhost:8000/#/todos ,你应该能看到前面定义的 <h2> 标签。

6、编写 UI Component

在多个页面分享 UI 元素 (或在一个页面使用多次),在 dva 里你可以把这部分抽成 component 

新建components/Todolist.js 、Add.js文件

https://img1.sycdn.imooc.com//5c9b30f0000197a923481504.jpg

https://img1.sycdn.imooc.com//5c9b31000001c23323040340.jpg

Add.js

https://img1.sycdn.imooc.com//5c9b324a0001ab6619121256.jpg

7、定义model

完成 UI 后,现在开始处理数据和逻辑。

dva 通过 model 的概念把一个领域的模型管理起来,包含同步更新 state 的 reducers,处理异步逻辑的 effects

新建model/todos.js、add.js

https://img1.sycdn.imooc.com//5c9b33060001d83b23080806.jpg

add.js

https://img1.sycdn.imooc.com//5c9b333100017e0c23440688.jpg

8、最后在 index.js 里载入他:

https://img1.sycdn.imooc.com//5c9b33a50001d5a919380108.jpg

9、connect 起来

我们已经单独完成了 model 和 component,那么他们如何串联起来呢?

dva 提供了 connect 方法。如果你熟悉 redux,这个 connect 就是 react-redux 的 connect 。

编辑routes/Todos.js替换为一下内容

https://img1.sycdn.imooc.com//5c9b34800001dfb820121248.jpg

https://img1.sycdn.imooc.com//5c9b349400016b3923680778.jpg

10、最后,我们还需要一些初始数据让这个应用 run 起来。编辑 index.js

https://img1.sycdn.imooc.com//5c9b34f10001551019400464.jpg


刷新浏览器,应该能看到以下效果:

https://img1.sycdn.imooc.com//5c9b36250001f6c928781110.jpg

最后构建应用:

完成开发并且在开发环境验证之后,就需要部署给我们的用户了。先执行下面的命令:

https://img1.sycdn.imooc.com//5c9b39e200012d0114740118.jpg

之后可以看到

https://img1.sycdn.imooc.com//5c9b39fc0001555414780514.jpg

build 命令会打包所有的资源,包含 JavaScript, CSS, web fonts, images, html 等。然后你可以在 dist/ 目录下找到这些文件。

以上是一些关于“dva antd的搭建与简易的todolist”的总结,如有不当之处,请指正,谢谢!


github:https://github.com/smilingwu/dva-antd



点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Web前端工程师
手记
粉丝
6
获赞与收藏
44

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 2
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消