十分钟带你快速了解React16新特性-创新互联
前段时间React的16版本发布了,采用了MIT开源许可证,新增了一些新的特性。
为凤庆等地区用户提供了全套网页设计制作服务,及凤庆网站建设行业解决方案。主营业务为成都网站制作、做网站、凤庆网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!- Error Boundary
- render方法新增返回类型
- Portals
- 支持自定义DOM属性
- setState传入null时不会再触发更新
- 更好的服务器端渲染
- 新的打包策略
- ...
1. 使用Error Boundary处理错误组件
之前,一旦某个组件发生错误,整个组件树将会从根节点被unmount下来。React 16修复了这一点,引入了Error Boundary的概念,中文译为“错误边界”,当某个组件发生错误时,我们可以通过Error Boundary捕获到错误并对错误做优雅处理,如使用Error Boundary提供的内容替代错误组件。Error Boundary可以看作是一种特殊的React组件,新增了componentDidCatch这个生命周期函数,它可以捕获自身及子树上的错误并对错误做优雅处理,包括上报错误日志、展示出错提示,而不是卸载整个组件树。(注:它并不能捕获runtime所有的错误,比如组件回调事件里的错误,可以把它想象成传统的try-catch语句)
//最佳实践:将ErrorBoundary抽象为一个公用的组件类 import React, { Component } from 'react' export default class ErrorBoundary extends Component { constructor(props) { super(props) this.state = { hasError: false } } componentDidCatch(err, info) { this.setState({ hasError: true }) //sendErrorReport(err,info) } render(){ if(this.state.hasError){ returnSomething went wrong!} return this.props.children } }
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网站标题:十分钟带你快速了解React16新特性-创新互联
文章URL:http://ybzwz.com/article/coihjp.html