[react] 怎么使用Context开发组件?
Posted 前端小歌谣
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[react] 怎么使用Context开发组件?相关的知识,希望对你有一定的参考价值。
[react] 怎么使用Context开发组件?
import React, {Component} from 'react'
// 首先创建一个 context 对象这里命名为:ThemeContext
const ThemeContext = React.createContext('light')
// 创建一个祖先组件组件 内部使用Provier 这个对象创建一个组件 其中 value 属性是真实传递的属性
class App extends Component {
render () {
return (
<ThemeContext.Provider value="dark">
<Toolbar />
</ThemeContext.Provider>
)
}
}
// 渲染 button 组件的外层包裹的属性
function Toolbar () {
return (
<div>
<ThemeButton />
</div>
)
}
// 在 Toolbar 中渲染的button 组件 返回一个 consumer (消费者)将组件组件的 value 值跨组件传递给 // ThemeButton 组件
function ThemeButton (props) {
return (
<ThemeContext.Consumer>
{ theme => <button {...props} theme={theme}>{theme}</button> }
</ThemeContext.Consumer>
)
}
个人简介
我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
但坚持一定很酷。欢迎大家一起讨论
主目录
以上是关于[react] 怎么使用Context开发组件?的主要内容,如果未能解决你的问题,请参考以下文章
React开发(208):react代码分割在嵌套组件中更新 Context
React Context Hook vs 将数据直接引入组件
使用React Context进行状态管理(五)Provider与Consumer匹配