最近用蚂蚁金服的脚手架ant design pro 做了一个项目,记录下使用的一些经验,后续如果有继续使用react 翻出来当文档看。
一、组件:
组件化的方式写页面,写成一个类的方式,注意的地方有两个,state的使用,render的重新渲染机制。
1、执行setState()函数会自动调用render重新刷新页面
2、生命周期:渲染前的网络请求componentWillMount
二、数据交互:
1、组件内通信:通过setState
2、父子组件通信:传值
3、其他组件通信:dva(https://dvajs.com/ 一个轻量级的应用框架)
可以理解为一个全局变量的数据区、每个组件可以获取到这里的值,也可以通过点击等事件去触发回调改变里面的值。假设有两个组件都调用了同一个models,一个组件调用了里面的回调函数。另外一个组件获取到的值也会跟着改变。
![](https://img.haomeiwen.com/i13080541/0a4042304d8f1ed7.png)
models里的文件定义的namespace,组件connect这个名字就能获取到里面的值和回调函数,至于文件的关联关系脚手架的umi会去处理,无需关心。
![](https://img.haomeiwen.com/i13080541/59a39a9ffeaf9dfc.png)
![](https://img.haomeiwen.com/i13080541/9e61bf19bf135708.png)
组件调用回调改变值。type指定调用那个回调函数,eslinfo是models的namespace,settheadlist是调用的函数名
剩下的值是传入这个函数的参数
![](https://img.haomeiwen.com/i13080541/fd74d4710b0fe8f2.png)
eslinfo这个models里的 settheadlist函数名称。action里面放的是传入参数的位置,state的这个models里的变量。return完会重新刷新调用组件的render(有调用到的刷新)。
三、路由:
![](https://img.haomeiwen.com/i13080541/385b5ce44c7c6de6.png)
路由在这份配置文件里面修改,这一部分看官方文档会比较清楚 https://pro.ant.design/docs/router-and-nav-cn
四、国际化
![](https://img.haomeiwen.com/i13080541/ed091260e51c9e89.png)
网友评论