当前位置: 首页 > news >正文

电子商务类网站有哪些咨询app开发制作公司

电子商务类网站有哪些,咨询app开发制作公司,库尔勒市建设路街道办网站,网站的技术建设JSX底层渲染机制 一,.步骤 1.把我们写的jsx语法编译为虚拟DOM【virtualDOM】 虚拟DOM对象#xff1a;框架自己内部构建的一套对象体系#xff08;对象的相关成员都是React内部绑定的#xff09;#xff0c;基于这些属性描述出我们所构建视图中的DOM接的相关特征 1基于ba…JSX底层渲染机制 一,.步骤 1.把我们写的jsx语法编译为虚拟DOM【virtualDOM】 虚拟DOM对象框架自己内部构建的一套对象体系对象的相关成员都是React内部绑定的基于这些属性描述出我们所构建视图中的DOM接的相关特征 1基于babel-preset-react-app 把jsx编译为React.createElement(…)的格式。 只要是元素节点必然会基于createElement进行处理 React.createElement(ele,props,…children) ele 元素标签名【或组件】 props 元素的属性集合对象如果没有任何的属性则此值为null children 第三个及其以后得参数都是当前元素的子节点 如下图jsx root.render{h2 classNametitle style{styleObj}XXXX/h2div classNameboxspanx/spanspany/span/div/ }编译为 再把CreateElement的方法执行创建出VirtualDom对象【也有称为JSX元素、JSX对象、ReactChild对象…】 //虚拟DOM对象 virtualDOM{$$typeOf:Symbol(react.element),ref:null,key:null,type:标签名【或组件】,//存储了元素相关属性子节点信息props:{元素的相关节点children:子节点信息【没有子节点就没有则个属性、属性可能是一个值也可能是一个数组】} }/*createElement:创建虚拟DOM对象*/ export fucnction createElement(ele,props,...children){let virtualDOM{$$typeOf:Symbol(react.element),key:null,key:null,ref:null,type:null. props:{}};let lenchildren,lengthvirtualDOM.typeele;if(props){virtualDOM.props{...props}}if(len1){virtualDOM.props.childrenchildren[0]}else if(len1){virtualDOM.props.childrenchildren}return virtualDOM }2.构建的virtualDOM渲染为真实的DOM元素 真实DOM浏览器页面中最后渲染出来让用户看见的DOM元素 基于ReactDOM中的render方法处理 v16 ReactDOM.render(.../domcument.getElementById(root) )v18 const root React.createRoot(dociment.getElementById(root)) root,render(.../ )补充第一次渲染页面是直接从虚拟DOM — 真实ODM但是后续视图更新的时候会经过一个DOM-DIFF的对比计算出补丁包PATCH两次视图差异部分把PATCH补丁包进行渲染 /*render把虚拟DOM变为真实DOM*/ export function render(virtualDOM,container){let {type,props}virtualDOM;if(typeof typestring){//存储的是标签名动态创建这样一个标签let eledomcument.createElement(type);//为标签设置相关属性节点each(props,(value,key){//classNmae的处理if(keyclassName){ele.classNamevaluereturn}//style的处理value存储的是样式对象if(keystyle){each(value,(val,attr){ele.style[attr]val})return}//子节点的处理value存储的children属性值if(keychildren){let children valueif(children.length1){children[children]}children.forEach(child{//子节点是文本节点直接插入if(typeof childstring){ele.appendChild(domcument.createTextNode(child))return; }//子节点又是一个虚拟ODM:递归处理render(child,ele)})return}ele.setAttribute(key,value);})container.appendChild(ele)} }
http://www.laogonggong.com/news/108487.html

相关文章:

  • 简约风格的网站工业互联网平台是什么
  • 丽水网站制作公司无代码开发平台的利与弊
  • 怎么宣传自己的店铺网站推广优化外包
  • 上海高端建设网站你知道的在线视频观看的
  • 自助建站网站普陀网站建设公司
  • 建网站和开发app哪个难wordpress 热门文章调用
  • 温州网站设计定制搜狗权重查询
  • html如何做自己的网站免费搭建商城网站
  • seo优化网站词硬件开发设计公司
  • 个人网站建设规划案例站长统计黄页网站下载大全
  • 做戒烟网站素材商城网站设计定制
  • 塘沽网站建设优化营销技巧 第一季
  • 网站服务器和空间有什么区别大连工程预算服务
  • 个人网站模板 html破解插件有后门wordpress
  • 新浪网站用什么语言做的网页设计与制作教程第六版第六章源代码
  • 有哪些有趣的网站河南省建设厅网站职称网
  • 做机械设备哪个网站好五金外贸订单网
  • wordpress建站教程书籍jsp网站开发文献
  • 俄语网站建站智慧校园平台
  • 温州网站建设服务中心12个优秀的平面设计素材网站
  • 吉林省住房与城乡建设厅网站广东东莞职业技术学院
  • 在哪个国家做垂直网站好wordpress保护
  • 后台网站模板html杭州本地网络推广公司
  • 做网站建设销售高端网页建设
  • 可视化网站模板江油网站制作
  • 企业做网站的痛点有哪些html5怎么做网站
  • 网站开启伪静态需要编写什么代码建设电影网站的教程
  • 福安做网站如何给公司网站做推广
  • 宁波网站开发安阳吧
  • 招聘网站开发成本网站面包屑导航怎么做的