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

交友深圳网站建设html网站地图制作

交友深圳网站建设,html网站地图制作,做外围的都上什么网站找,用土豆做美食的视频网站概述 React组件的生命周期可以分为三个主要阶段#xff1a; 挂载阶段#xff08;Mounting#xff09;#xff1a;组件被创建#xff0c;插入到DOM 树的过程#xff1b; 更新阶段#xff08;Updating#xff09;#xff1a;是组件中 props 以及state 发生变化时#…概述 React组件的生命周期可以分为三个主要阶段 挂载阶段Mounting组件被创建插入到DOM 树的过程 更新阶段Updating是组件中 props 以及state 发生变化时重新render渲染视图过程 卸载阶段Unmounting是DOM被从虚拟DOM树移除的过程 每个阶段都伴随着一系列的生命周期方法这些方法为开发者提供了在类式组件不同阶段执行操作不同代码的机会使开发人员能够更好的处理业务交互。 1、类式组件中的生命周期 React 16.3 之前的钩子 React 16.3 之后的生命周期钩子 2、React 16.3 版本之前的 生命周期 这个版本的 React 有非常明确的生命周期能够清晰的知道各个阶段的钩子函数跟VUE2.0的非常相似 主要钩子函数有如下 2.1、挂载阶段 constructor(props) 类的构造方法在组件中被创建时候调用用于初始化 state 和 绑定事件处理函数但是这个时候不能调用 this.setState() 因为此时组件还没有挂载到 DOM上 componentWillMount() 将要插入回调DOM结构生成前要执行的操作 render() 用于插入虚拟DOM 回调将虚拟DOM 渲染到视图上的过程 componentDidMount() 虚拟 DOM插入回调已经完成即视图已经渲染完成页面真实DOM已经加载完此阶段可以进行 数据请求、订阅或手动更改DOM 2.2、更新阶段 每次在进行 this.setState() 操作或者 子组件得到的 props 更新时候都会执行此阶段的钩子函数还有就是执行 forceUpdate() 时候 同样也会执行此阶段函数 componentsWillUpdate() 视图将要更新前的回调操作用于数据格式化等操作 render() 根据传入的 新state 或者 新 props 进行重新渲染视图 componentDidUpdate() 视图重新更新渲染已经完成 可以在这里执行依赖于DOM的操作如重新获取DOM尺寸或执行网络请求 2.3、卸载阶段 componentWillUnmount() 组件被移除回调这个阶段可以处理一些定时任务事件卸载、取消网络请求等操作 3、React 16.3 版本之后的生命周期 3.1、挂载阶段 constructors(props) 类的构造方法在组件被创建时调用。用于初始化state和绑定事件处理函数,创建 ref。注意constructor中不能调用this.setState()因为此时组件还未挂载到DOM上。 constructor(props) {console.log(constructor)// 获取上级传入 propssuper(props)// 声明 state 属性 countthis.state {count: 0}}static getDerivedStateFromProps(props, state) React 16.3引入的静态方法在组件创建时和每次更新前调用。用于根据props更新state。如果不希望更新state则返回null。 如 static getDerivedStateFromProps(props, state) {// 根据props更新stateconsole.log(props)console.log(state, state)// 表示给 count 设置初始值最终会渲染为 99return {count: 99}}static 静态方法中是获取不到当前组件的实例的不能进行 this.XX 操作 调用 如this.fetch() render() 渲染方法根据组件的props和state返回React元素。render方法必须是一个纯函数不能修改组件的状态或执行副作用。 componentDidMount() 组件挂载到DOM后调用。是执行副作用如数据获取、订阅或手动更改DOM。 3.2、更新阶段 在组件的props或state发生变化时React会重新渲染组件 static getDerivedStateFromProps(props, state) 同挂载阶段用于在更新前根据props更新state。 同上 返回 null 时候不会更是视图 shouldComponentUpdate(nextProps, nextState) 返回一个布尔值决定组件是否应该更新。默认情况下返回true但可以通过此方法优化性能避免不必要的渲染通过对比新旧数据判断是否需要执行更新视图操作。 render() 同挂载阶段根据更新后的props和state重新渲染组件。 getSnapshotBeforeUpdate(prevProps, prevState) 在最近一次渲染输出提交到DOM之前调用可以捕获一些信息如滚动位置这些信息将作为参数传递给componentDidUpdate。 componentDidUpdate(prevProps, prevState, snapshot) 组件更新后被调用。可以在这里执行依赖于DOM的操作如重新获取DOM尺寸或执行网络请求 3.3 卸载阶段 componentWillUnmount() 在组件卸载及销毁之前调用。是执行清理操作如取消网络请求、清除定时器的理想位置。 类式组件生命周期钩子函数变化 4、在函数式组件中如何模拟生命周期 生命周期主要分为 三个阶段在函数式组件中是无法模拟出上面类式组件的各个生命钩子函数的但是可以通过 useEffect() Hook模拟组件的 挂载、更新、销毁三个阶段 4.1 模拟挂载阶段 与类组件中的 componentDidMount() 钩子函数相似 useEffect(() {// 这里执行挂载时候操作console.log(componentDidMount)}, []) // 第二参数为空 数组时候表示 挂载、卸载时候执行4.2 模拟更新阶段 与类式组件中的 shouldComponentUpdate 类似 useEffect(() {// 这里执行挂载时候操作console.log(componentDidMount)console.log(我更新了)}, [count]) // 第二参数为空 数组时候表示 挂载、卸载时候执行;若第二个参数 传入了依赖属性则该属性变化时候会执行第一个参数的回调函数4.3 模拟卸载阶段 与类式组件中的 componentWillUnmount() 类似 useEffect(() {// 这里执行挂载时候操作console.log(componentDidMount, count)return () {// 这里执行卸载后的操作console.log(组件卸载了)}}, [count]) // 第二参数为空 数组时候表示 挂载、卸载时候执行,注意官网现在推荐开发时候使用函数式组件相对类式组件更加灵活方便但是在编写通用性处理复杂的逻辑及状态时候还是建议使用类式组件类式组件有很好的继承扩展性通过生命周期钩子能够更好的
http://www.hkea.cn/news/14532051/

相关文章:

  • 西宁网站设计制作网站服务器要多少钱
  • 企业网站维护国外免费iphone网站
  • 质量检测中心培训网站做网站去哪里做好
  • 摄影网站首页设计电子商城网站建设报告
  • 分类信息系统网站模板网站建设需要提供的资料文档
  • wordpress页面模板位置优化大师软件大全
  • 网站建设会议记录如何改变网站首页栏目
  • 企业网站建设成本微信开放平台小程序
  • 网站备案证书在哪里下载潍坊seo网站推广
  • 衡水网站制作费用网站兼容所有浏览器
  • 手机网站设计公司只找亿企邦大良营销网站建设机构
  • 济南网站优化推广公司vs2017移动网站开发
  • 网站服务器 内存图书馆网站建设的意义
  • 分析某个网站建设长春市网站制作
  • 网站建立网络优化泉州最专业手机网站建设哪家好
  • 海外注册域名的网站好网站分析工具有哪些
  • 淘客网站如何做个人养老金
  • 魔方 网站苏州网站制作开发公司
  • 网站建设珠江摩尔王占山事迹
  • 吉林平台网站建设多少钱用jsp做网站的难点
  • 电子商务网站建设管理答案网站开通告知书
  • 网站开发有哪几种语言国外ps网站
  • 正规网站建设咨询电话wordpress个人展示
  • 新手做网站教程青岛建设集团建兴工程有限公司
  • 网站建设是怎么赚钱营销网站的成功案例
  • 网站的视频做gifwordpress 做值班表
  • 黑龙江建设网站网页网页设计班
  • 丹阳网站设计建设银行河北招聘网站
  • 如何做公司网站wordpress ftp设置
  • 个人备案网站做淘宝客可以用吗企业网站建设申请怎么写