QQ音乐:React v16 新特性实践 (3)

这种场景使用 forwardRef API 的方式做一个“穿透”,就能简便许多:

import { createRef, forwardRef } from "react"; const MyButton = forwardRef((props, ref) => ( <button ref={ref}> {props.children} </button> )); class App extends Component { constructor(props){ super(props); this.realButton = createRef(); } componentDidComponent{ //直接拿到 inner element ref console.log(this.realButton); } render(){ return ( <MyButton ref={this.realButton}> Press here </MyButton> ); } } 总结

以上就是 React v16 发布以来几个比较重要和有用的新特性,优化的同时也带来了开发体验的提升。另外 v16 对比之前版本还有不错的包大小降低,也是非常具有优势的:

img

除此之外,想要了解更多的一些变更比如生命周期的更新 (getDerivedStateFromProps, getSnapshotBeforeUpdate) 和 SSR 的优化 (hydrate),以及即将推出的 React Fiber (async render) 动向,可以点击查看原文了解更多的官方信息。

这么多激动人心的特性,如果你还在用 v15 甚至旧版,就赶快升级体验吧!

问答
如何从jQuery转到React.js?
相关阅读
React Native在全民K歌APP中的使用分享
Android Native 开发之 NewString 与 NewStringUtf 解析
React-Native 分包实践

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpzdsz.html