[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匹配

父组件向孙子组件传值(Context)特性

React 系列 02❤️ Custom Hooks 中使用 React Context

React中的组件通信——父传子子传父Context