React 之React.createContext
2024-10-07 09:15:54
使用Context
,可以跨越组件进行数据传递
import React from 'react';
import ReactDOM from 'react-dom'; const ThemeContext = React.createContext({
background: 'red',
color: 'white'
});
通过静态方法React.createContext()
创建一个Context
对象,这个Context
对象包含两个组件,<Provider />
和<Consumer />
。
class App extends React.Component {
render () {
return (
<ThemeContext.Provider value={{background: 'green', color: 'white'}}>
<Header />
</ThemeContext.Provider>
);
}
}
<Provider />
的value
相当于现在的getChildContext()
。
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>
);
}
}
<Consumer />
的children
必须是一个函数,通过函数的参数获取<Provider />
提供的Context
参考自:https://www.jianshu.com/p/eba2b76b290b
最新文章
- <;精通JavaScript>;---阅读笔记01
- C++11特性:decltype关键字
- 安卓中級教程(4):ScrollView與ListView之間的高度問題
- mac上的替代软件
- extjs Combobox动态加载数据问题,mode:local 还是remote
- selectors实现高并发
- 【LeetCode】102 - Binary Tree Level Order Traversal
- 基于JQuery+JSP的无数据库无刷新多人在线聊天室
- HDU2111 Saving HDU 【贪心】
- 清空DateTimePicker控件的好方法
- PHP和MySQL Web开发 原书第4版 高清文字版,有目录,附带源码
- IOS中实例的权限控制
- [原]创建三个输入文本框,当光标离开文本框的时候如果文本框为空,则将文本框背景色设置为红色,如果不为空则为白色。提示:焦点进入控件的事件是onfocus,焦点离开控件的事件是onblur
- Mysql net start mysql启动,提示发生系统错误 5 拒绝访问,原因所在以及解决办法
- 【FlashPlayer】-Debug版本-开发人员推荐
- Codeforces Round #436 (Div. 2) E. Fire
- 在项目管理中如何保持专注,分享一个轻量的时间管理工具【Flow Mac版 - 追踪你在Mac上的时间消耗】
- 使用log
- MySQL优化之——备份和恢复
- 《剑指offer》-找到字符串中第一个只出现一个的字符
热门文章
- 13 oracle数据库坏块-逻辑坏块(模拟/修复)
- 001-Django简介与项目创建
- [Usaco2017 Jan]Promotion Counting
- Python 内置函数super
- Spring MVC-学习笔记(4)数据绑定流程
- sudo pip install -i http://pypi.douban.com/simple/ --trusted-host=pypi.douban.com/simple ipython
- MySQL explain,type分析(转)
- SCUT - G - 魔法项链 - 树状数组
- Ubuntu 增加新用户并赋予root权限及免密的方法
- Nginx 配置状态信息虚拟主机