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

网站导航设计应注意哪些问题深圳比较出名的外贸公司

网站导航设计应注意哪些问题,深圳比较出名的外贸公司,网站优化主要优化哪些地方,网叶制作目录 静态组件动态组件创建一个构造函数(类)使用 class 实现组件**使用 function 实现类组件** 静态组件 函数组件是静态组件: 组件第一次渲染完毕后,无法基于内部的某些操作让组件更新「无法实现自更新」;但是,如果调用它的父组…

目录

  • 静态组件
  • 动态组件
    • 创建一个构造函数(类)
      • 使用 `class` 实现组件**
      • 使用 `function` 实现类组件**

静态组件

函数组件是静态组件

  • 组件第一次渲染完毕后,无法基于内部的某些操作让组件更新「无法实现自更新」;但是,如果调用它的父组件更新了,那么相关的子组件也一定会更新「可能传递最新的属性值进来」;
  • 函数组件具备:属性…「其他状态等内容几乎没有」
  • 优势:比类组件处理的机制简单,这样导致函数组件渲染速度更快。

第一次渲染组件,把函数执行

  • 产生一个私有的上下文:EC(V)
  • 把解析出来的props「含children」传递进来「但是被冻结了
  • 对函数返回的JSX元素「virtualDOM」进行渲染
  • 当我们点击按钮的时候,会把绑定的小函数执行:
  • 修改上级上下文EC(V)中的变量
  • 私有变量值发生了改变
  • 但是视图不会更新

真实项目中,有这样的需求:第一次渲染就不会再变化的,可以使用函数组件。 但是大部分需求,都需要在第一次渲染完毕后,基于组件内部的某些操作,让组件可以更新,以此呈现出不同的效果,也就是动态组件「类组件、Hooks组件(在函数组件中,使用Hooks函数)」


const Vote = function Vote(props) {let { title } = props;let supNum = 10,oppNum = 5;return <div className="vote-box"><div className="header"><h2 className="title">{title}</h2><span>{supNum + oppNum}</span></div><div className="main"><p>支持人数:{supNum}</p><p>反对人数:{oppNum}</p></div><div className="footer"><button onClick={() => {supNum++;console.log(supNum);}}>支持</button><button onClick={() => {oppNum++;console.log(oppNum);}}>反对</button></div></div>;
};
export default Vote;

可以看到,点击之后,页面并没有变化
在这里插入图片描述

动态组件

类组件是“动态组件”:

  • 组件在第一渲染完毕后,除了父组件更新可以触发其更新外,我们还可以通过:this.setState修改状态 或者 this.forceUpdate 等方式,让组件实现“自更新”!!
  • 类组件具备:属性、状态、周期函数、ref…「几乎组件应该有的东西它都具备」
  • 优势:功能强大。

Hooks组件「推荐」

  • 具备了函数组件和类组件的各自优势,在函数组件的基础上,基于hooks函数,让函数组件也可以拥有状态、周期函数等,让函数组件也可以实现自更新「动态化」。

创建一个构造函数(类)

  • 要求必须继承React.Component/PureComponent这个类
  • 通常使用使用ES6中的class创建类「因为方便」
  • 必须给当前类设置一个render的方法「放在其原型上」:在render方法中,返回需要渲染的视图
//import React .... : 把基于export default导出的内容获取到
//import { Component, PureComponent } .... : 不是对React对象做解构赋值,而是把基于 export function Component(){} 一个个导出的内容,做解构赋值import React, { Component, PureComponent } from "react";

这里展示在 React 中使用类和函数两种方式来实现组件。

使用 class 实现组件**

通过 ES6 class 类来定义的。Vote 类继承了 React.Component,并通过 export default 导出。

class Vote extends React.Component {render() {return <div>投票组件</div>;}
}
export default Vote;

使用 function 实现类组件**

使用传统的 JavaScript 函数,通过 Object.setPrototypeOf 来使该函数继承 React.Component,从而具备 React 组件的能力。

function AAA() {React.Component.call(this);  // 手动绑定 React.Component 的上下文,模拟了类的构造器。this.state = { x: 10, y: 20 };
}
//设置 `AAA` 函数的原型链,使得它继承了 `React.Component` 的原型,从而具备了 React 组件的行为
Object.setPrototypeOf(AAA.prototype, React.Component.prototype);  // 设置原型链AAA.prototype.sum = function () { /* 自定义方法 */ };
http://www.15wanjia.com/news/163566.html

相关文章:

  • 电商设计网站有哪些功能模块骑行网站模板
  • 电子商务毕业设计设计网站建设h5模板素材
  • 潍坊做网站哪家好网页个人主页设计
  • 有了域名之后怎么做自己的网站重庆相亲网
  • 网站开发与设计总结地图网站怎么做
  • 网站建设租用服务器专做毕业设计的网站
  • 电商网站怎么做与众不同托管经营
  • 视频变成网站怎么做的网站建设规划书中包含内容
  • 服装网站建设网推广普通话活动
  • 防下载 的视频网站 怎么做如何将自己做的网站上传
  • 浏阳做网站的有哪几家淘宝做网站的
  • 海外购物app排行榜前十名seo分析报告怎么写
  • 多与pR值高的网站做链接云服务器怎么建立网站
  • 怎样使用网站模板wordpress仪表盘美化
  • 郑州网站建设知名公司排名广州cms建站系统
  • 一个完整的网站设计需要的技术wordpress 订单管理
  • 网站制作与网站建设宁波市铁路建设指挥部网站
  • 赣州销售网站安庆建设银行网站
  • 建网站需要注意的问题关键词怎么优化
  • 网站静态代码检查 站长工具博物馆网站 微信 微博 建设方案
  • 怎么登录企业网站中关村手机在线官网
  • 承德网站制作与建设wordpress制作下拉菜单
  • 在网站后台做网页怎样创建app
  • 网站图片被盗连怎么办啊赣州做网站优化
  • 网站全屏大图代码优秀排版设计网站
  • 猪八戒网站做私活赚钱吗php网站建设费用
  • 仿团购网站模板wordpress模板个人博客
  • 做网站的软件micro如何自建网站视频
  • 越秀手机建网站Soho外贸常用网站
  • 四川省特种作业证查询广州seo做得比较好的公司