不封装form可以吗很多人第一印象觉得有UI框架如ant-design,或者bootstrap,就不需要二次封装form了,其实不然。如果不封装form,你只有一个UI库给你,你引入input select 等组件后,需要自己做以下事情:
每个filed写value onChange
要写validate
要写样式
要写 submit 逻辑,如果是pop,还要写hide close;
上...
more
Mr.Yellow.Wills
-
-
form拥有的能力redux状态内部实现 (formStore formDispatch)formStore是给form封装的,主要用于form内的自定义组件。form Store 用于较为复杂的form,根据需求是否选用,与form做了分离封装:12345678910111213141516171819//使用 contextHoc(FormContext, initFormStoreSt... more
-
前言这些年做react,深受form使用麻烦的苦,最后发现动态配置化表单是form使用的正确姿势,高效,易读,易维护。结合自己的工作经验,花了一个多星期手写了一版 form的二次封装。二次封装最难的是方案设计和实现,样式是最简单的了,每个公司样式需求各不同,本次封装就不涉及样式了,只专注功能实现。核心源码行数不多,如果有兴趣,直接去github上,下载源码看看,下面有连接。 默认用法这种用法... more
-
以下内容很多是阅读react官网,做的读书笔记。 遗憾的是hooks并没增加新的能力hooks相比之前的react,并没有增加新的功能,只是针对以前的功能的重新封装和优化,它没有增加新的功能,比如没有增加redux功能,更不可能替代redux,因此在项目中建议class与hooks一起写,而不是一味用hooks,至少当前阶段是这样。 基础知识先在不复杂的新组件使用不建议重写原有的组件,开始“... more
-
edit与search的无法调和是一切暗黑的源头需求:edit 与 search 功能场景为:edit 功能只能定义在业务组建内,且 edit 功能每次都要setState ListBuilder的data。search功能必须放在ListBuilder内,search功能每次也要改变ListBuilder的data。 为什么无法调和二者无法调和是在于,edit与search要求同时都完全控... more
-
react-redux 源码解读这些博客是我以前写在csdn的,现在将博客地址放在这里。阅读的react-redux的版本为5.0.7 react-redux 源码解读之connect的selector布局参考react-redux 源码解读之connect的selector布局 react-redux 源码解读之connect的mapStateToProps参考react-redux 源码... more
-
React Router常见知识HashRouter 还是 BrowserRouter 以及 Router Route 讲解简言之如果项目服务端做了服务端渲染,可以选择BrowserRouter,否则请选择HashRouter,因此一般项目都是HashRouter,因为大多项目么有做服务端渲染。详细见下面(还讲了:利用服务器解析机制,服务器不会解析路由#以后的部分):摘自《React 实战... more
-
用正则久矣,一直想出一篇这方面的笔记,用来记录重难点。博客重度参考慕课教程JavaScript正则表达式 regexper.com这是一个很好的正则网址,此网不会用,可能显得不上档次?regexper.com,这个网址如果受外网限制不好访问的话,也可通过npm安装到本地访问,具体谷歌或看上面的慕课教程。 m 多行搜索修饰符正则有如下修饰符123g:global 全文搜索 不添加只搜索第一个匹... more
-
svg知识常见的svg标签123456789101112131415161718192021222324<svg xmlns="http://www.w3.org/2000/svg" width="600" height="600" version="1.1"> <defs> ... more
-
写在前面本文是主要参考 TypeScript 入门教程,记得很随意,断断续续,不完整,可能后期此篇笔记会删除,聊当暂时性自用。 把玩ts的正确姿势任意目录下,使用tsc命令来,很纯粹,剔除其他因素导致的理解偏差,不需要配合webpack等等,更多参考:《tsc命令的使用》 接口可以描述的类型定义对象有很多个属性时,定义一个任意属性123456789101112interface Person... more