context: 实现跨层级的组件数据传递
```
import React, { createContext } from 'react';
import logo from './logo.svg';
// 1. 引入 createContext()
const BatteryContext = createContext();
function Leaf() {
return (
// 数据消耗者
<BatteryContext.Consumer>
{
battery => <h1>Battery: {battery}</h1>
}
</BatteryContext.Consumer>
)
}
function Middle() {
return (
<Leaf />
)
}
class App extends React.Component {
state = {
battery: 60
}
render() {
const {battery} = this.state
return (
// 数据提供者
<BatteryContext.Provider value={battery}>
<button type="button" onClick={()=>this.setState({battery:50})}>点击</button>
<Middle />
</BatteryContext.Provider>
)
}
}
export default App;
```
- 第一章:react 基础
- 1. 关于 react
- 2. react 工作原理
- 0. 开发环境搭建
- 1. 创建并使用一个组件
- 1. 模块化与组件化
- 2. 虚拟DOM
- 3. Diff 算法
- React 与 Vue 的使用差异
- 1. 组件创建方式
- 2. data 与 state
- 3. 方法使用方式&this
- 4. 数据双向绑定
- 5. props
- 6. ref
- 7. for 循环元素
- 8. 生命周期
- create-react-app 改为多页面应用
- react修改打包路径,直接查看
- redux
- context
- lazy 实现延迟加载静态属性
- Memo实现指定组件进行渲染
- React Hooks
- React Hooks 的概念和意义
- 使用 useState
- axios单次切换formdata和payreload
- react 动态绑定 class
- 高阶组件
- react设计模式