刚学react疯狂爬坑
1 react原生 定时器使用与清除
点注册时弹出消息提示要做防抖,发现直接在代码中使用定时器,设置定时器一切正常,使用clearTimeout时无法使用,爬坑后发现需要将setTimeout设置在State中,State是vue里的data。
代码如下
clearTimeout(this.state.interval)// 清除定时器
this.setState({
interval : setTimeout(() => {
this.setState({ messageShow: false })
}, 2000)
})// 添加一个新的定时器,这个会自动执行
我没有在 react的 this.state = { }中定义 interval,不过还是能运行 - -
吐槽
裂开 我接手的代码,上一个人也是现学react做的好多坑,好多bug
使用react必须学习的内容&插件
react本身自然不用说,hooks ,这个不是插件,hooks跟react的关系像vue与vuex的关系,hooks时为了扩展react的,爬坑的兄弟建议直接看hooks。
目前的项目基本都是用hooks的,目前不用hooks的只有个手机端的登录功能,小的可怜。
下一个是Umi + ant-desgin pro
Umi官方描述是 “是可扩展的企业级前端应用框架”,目前感觉ant-desgin pro则是一个ant-desgin的开源项目。个人感觉Umi是吧react又给封装了一下。如果直接使用react脚手架创建项目的话,会发现创建出来的项目里面的东西少的可怜。
vue的脚手架创建项目会让你选择用不用vuex,typeScript之类的,react自带的脚手架好像直接就没有选择,直接创建默认的模板。
Umi 必须要学是因为ant-desgin pro自带的开源项目,省去了搭react架子的功夫,然而ant-desgin pro的开源项目是自带Umi 这个插件的------
吐槽
为什么react用的CSS预处理器是less