基础知识warning:uncontrolled .. to be controlled主要还是给input的value在 有值与没有值-undefined 之间切换了,解决之道在于始终保持 value为值: value || ‘’ ;用‘’ 代替 undefined。解决方案参考
之类的 React 元素本质就是对象(object)参考官网<Contacts /> 和 <...
more
Mr.Yellow.Wills
-
-
前言这次封装,利用的是工作之余,时间难免宝贵,主要注重功能实现,细节或代码风格没有太注重,请忽略之。 状态提升的运用市面上的form封装,基本套路都是,field设置为完全受控组件,将field状态提升至form。这是form封装方案设计的关键第一步,如果将field设置为非受控组件,后期很多功能实现起来将比较麻烦。 很多人认为,这个状态提升,就应该是提升到form的state中,其实不然,... more
-
不封装form可以吗很多人第一印象觉得有UI框架如ant-design,或者bootstrap,就不需要二次封装form了,其实不然。如果不封装form,你只有一个UI库给你,你引入input select 等组件后,需要自己做以下事情: 每个filed写value onChange 要写validate 要写样式 要写 submit 逻辑,如果是pop,还要写hide close; 上... more
-
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