iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >react 16.8版本新特性及对react开发的影响是什么
  • 412
分享到

react 16.8版本新特性及对react开发的影响是什么

2023-06-29 12:06:00 412人浏览 安东尼
摘要

本篇内容主要讲解“React 16.8版本新特性及对react开发的影响是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“react 16.8版本新特性及对react开发的

本篇内容主要讲解“React 16.8版本新特性及对react开发的影响是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“react 16.8版本新特性及对react开发的影响是什么”吧!

    Facebook团队对社区上的mvc框架都不太满意的情况下,开发了一套开源前端框架react,于2013年发布第一个版本。

    react最开始倡导函数式编程,使用function以及内部方法React.creactClass创建组件,之后在es6推出之后,使用类组件Class构建包含生命周期的组件。

    react 16.8版本更新

    react16.8版本更新标志性的信息,是引入了hooks以及相关的一些api

    useState:// 函数式组件初始化state和更改state:const Counter = () =>{const [num,setNum] = userState(0);return(  <div>      <div>{count}</div>       <button onClick={()=>setCount(num+ 1)}>+</button>  </div>  );};

    useEffect

    userEffect副作用函数的组件,不仅取代了组件初始化,组件挂载成功,组件状态更新这三个阶段的生命周期函数

    同时还能在这个阶段处理一些内存队列:包括定时器等,解决了在16.8版本之前,在组件移除之后,异步队列没有被移除,占据内存导致页面卡顿等问题

    useEffect(() => {  compoment.subscribe(id);  return () => {      compoment.unsubscribe(theId)    //取消订阅  }});

    react16.8版本更新解决了什么问题

    组件复用更便捷

    在更新的版本之前,复用组件,更多的是使用高阶组件,以及封装的组件,通过传参和父子组件通信的形式去复用,

    更新之后,可以通过函数式组件返回状态的形式,去接受组件向外暴露的组件内容。

    实例

    //旧版本function children() {  return function (WrappedComponent) {    return class HighComponent extends React.Component {      state = {        childProps: xxx      };      render() {        const { childProps } = this.state;        return <WrappedComponent childProps={childProps} />;      }    };  };}
    class App extends Component{  render(){    const { childProps} = this.props;    return (      <children        columns={[...]}      // tableProps包含pagination, onChange, dataSource等属性。        {...childProps}      />    )  }}
    // 新版本function children() {  const [childProps, setChildProps] = useState(xxx);  return childProps;}function App {    const { childProps} = useTable();    return (      <Table         columns={[...]}      // tableProps包含pagination, onChange, dataSource等属性        {...childProps}      />    )}
    • 在我们上面提到的,清除定时器,以及解决在生命周期变化过程中,消除占用内存的队列等

    • 函数式组件出现了状态管理,在以往的react函数式编程过程中,react只能被动去接收一个从父组件传递下来的一个props状态,在hooks更新之后,可以使用hooks更新的方法,提高组件的功能性以及扩展性,在函数式组件当中拥有了像class组件一样可控生命周期

    • useEffect取代了一部分生命周期函数,从代码量的角度来说,简化了代码,解决了在class组件在编写过程中,需要不断使用bind或者箭头函数去绑定当前的this,更专注于当前状态的管理

    hooks和react diff算法

    • react diff这里不做深入讲解,简单来说diff算法是react以及Vue2.0版本当中:

    内部有一套虚拟dom的算法,在组件渲染过程中,对每个dom渲染一个key值,

    在state状态更新过程时,对应渲染的虚拟dom会去对比真实渲染在页面上的dom元素,如果某个节点对比时发现有更改,对应更改当前虚拟dom节点的数据状态,再渲染真实的dom到页面当中。

    两者的联系:

    • hooks在更新之后,减少了对生命周期函数的执行,同时更新状态更为迅速,这样在虚拟dom执行过程中,提高diff执行速度

    • hooks使得函数式组件有了自己内部的状态,在函数式组件执行过程中,不需要等待装载到父组件当中,自己可以更新状态,所以减少了部分dom的深度,在页面渲染过程中,也算是变相提高了页面渲染速度。

    到此,相信大家对“react 16.8版本新特性及对react开发的影响是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    --结束END--

    本文标题: react 16.8版本新特性及对react开发的影响是什么

    本文链接: https://www.lsjlt.com/news/324764.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • react 16.8版本新特性及对react开发的影响是什么
      本篇内容主要讲解“react 16.8版本新特性及对react开发的影响是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“react 16.8版本新特性及对react开发的...
      99+
      2023-06-29
    • 浅谈react 16.8版本新特性以及对react开发的影响
      目录react 16.8版本更新useEffectreact16.8版本更新解决了什么问题组件复用更便捷hooks和react diff算法总结Facebook团队对社区上的MVC框...
      99+
      2024-04-02
    • PHP 函数新特性对现有代码的影响是什么?
      php 7.0 中引入的函数新特性对现有代码的影响:返回类型声明确保函数返回预期类型,提高安全性。标量类型提示帮助检测类型不匹配错误,減少错误。返回类型声明避免函数体内重复类型声明,減少...
      99+
      2024-05-04
      函数 php
    • MySQL各版本的新特性是什么
      这篇文章将为大家详细讲解有关MySQL各版本的新特性是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、各版本的常用命令差异  show innodb statusG...
      99+
      2024-04-02
    • PHP7.x中各个版本的新特性是什么
      小编给大家分享一下PHP7.x中各个版本的新特性是什么,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!PHP 7.x 各个版本的新特性前言上个月同事看见我写$a = $a  '...
      99+
      2023-06-14
    • 织梦php5.7版本的新特性和优势是什么
      这篇“织梦php5.7版本的新特性和优势是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“织梦php5.7版本的新特性和优...
      99+
      2023-07-05
    • PHP7.x中每一个版本的新特性是什么
      这篇文章主要为大家展示了“PHP7.x中每一个版本的新特性是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“PHP7.x中每一个版本的新特性是什么”这篇文章吧。PHP 7.0标量类型声明什么是...
      99+
      2023-06-15
    • UNIX 日志记录技术对 Java 开发的影响是什么?
      在 Java 开发中,日志记录是一个非常重要的环节。它可以帮助开发者更好地了解程序运行情况,及时发现问题并进行排查。而 UNIX 系统作为一种常见的操作系统,其日志记录技术对 Java 开发也有着不可忽视的影响。本文将从日志记录的意义、U...
      99+
      2023-11-15
      日志 unix 开发技术
    • PHP 函数版本兼容性的最新发展是什么?
      为了保持 php 函数版本兼容性,请查阅变更日志了解弃用的函数和行为更改,并使用替代方案。例如,ereg() 已弃用,建议使用 preg_match(),array_merge() 的行...
      99+
      2024-04-25
      php 函数兼容性
    • Java锁的膨胀过程以及一致性哈希对锁膨胀的影响是什么
      这篇文章给大家分享的是有关Java锁的膨胀过程以及一致性哈希对锁膨胀的影响是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、锁优化在JDK6之前,通过synchronized来实现同步效率是很低的,被syn...
      99+
      2023-06-29
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作