继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

dva antd的搭建与简易的todolist

jokerW
关注TA
已关注
手记 25
粉丝 6
获赞 44

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

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

https://img3.mukewang.com/5c9b3869000167d812400744.jpg

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

https://img2.mukewang.com/5c9b2ccc0001605a14840198.jpg

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

https://img2.mukewang.com/5c9b2d0e0001e54014680108.jpg

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

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

https://img.mukewang.com/5c9b2d6a0001281914780156.jpg

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

https://img4.mukewang.com/5c9b2d910001106914780416.jpg

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

4、使用antd

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

https://img2.mukewang.com/5c9b2dd800015f6614760118.jpg

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

https://img.mukewang.com/5c9b2e0e00014f2519840320.jpg

5、定义路由

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

新建routes/todos.js

https://img4.mukewang.com/5c9b2fb90001412d20300440.jpg

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

https://img4.mukewang.com/5c9b301b0001b56219120060.jpg

https://img4.mukewang.com/5c9b2ff90001199919020078.jpg

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

6、编写 UI Component

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

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

https://img.mukewang.com/5c9b30f0000197a923481504.jpg

https://img.mukewang.com/5c9b31000001c23323040340.jpg

Add.js

https://img.mukewang.com/5c9b324a0001ab6619121256.jpg

7、定义model

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

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

新建model/todos.js、add.js

https://img3.mukewang.com/5c9b33060001d83b23080806.jpg

add.js

https://img3.mukewang.com/5c9b333100017e0c23440688.jpg

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

https://img1.mukewang.com/5c9b33a50001d5a919380108.jpg

9、connect 起来

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

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

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

https://img2.mukewang.com/5c9b34800001dfb820121248.jpg

https://img4.mukewang.com/5c9b349400016b3923680778.jpg

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

https://img2.mukewang.com/5c9b34f10001551019400464.jpg


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

https://img1.mukewang.com/5c9b36250001f6c928781110.jpg

最后构建应用:

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

https://img3.mukewang.com/5c9b39e200012d0114740118.jpg

之后可以看到

https://img1.mukewang.com/5c9b39fc0001555414780514.jpg

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

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


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



打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP

热门评论

谢谢,刚开始参与dva开发,感谢!

查看全部评论