React 16.3来了:带着全新的Context API
文章概览React在版本 文中的完整代码示例可在笔者的GitHub上找到,点击传送门。 看下新的Context API需要安装 npm install react@next react-dom@next 下面,直接来看代码,如果用过 首先,创建 import React from 'react'; import ReactDOM from 'react-dom'; // 创建context实例 const ThemeContext = React.createContext({ background: 'red',color: 'white' }); 然后,定义 class App extends React.Component { render () { return ( <ThemeContext.Provider value={{background: 'green',color: 'white'}}> <Header /> </ThemeContext.Provider> ); } } 接下来,定义
class Header extends React.Component { render () { return ( <Title>Hello React Context API</Title> ); } } class Title extends React.Component { render () { return ( <ThemeContext.Consumer> {context => ( <h1 style={{background: context.background,color: context.color}}> {this.props.children} </h1> )} </ThemeContext.Consumer> ); } } 最后,常规操作 ReactDOM.render( <App />,document.getElementById('container') ); 看下程序运行结果:
为什么有新的Context API用过 既然已经有了现成的解决方案,为什么还会有新的Context API呢?
写在后面新的Context API,个人对于性能上的提升更加期待些。至于降低复杂度、取代redux之类的,不是我关注的重点。下一步的计划就是多构造点用例来进行对比测试。 更多内容,欢迎大家关注我的公众号,后续进行更新
相关链接本文完整代码示例 React新的Context API的RFC (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |