4.react useContext使用与常见问题

复制代码
1. 在函数组件实现跨组件通信的方式
2. 注册Context将value传递给子组件

let MyContext = React.createContext('默认值');
<MyContext.Provider value={} >
let value = useContext(MyContext)
html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style></style>
  <script src="../react.development.js"></script>
  <script src="../react-dom.development.js"></script>
  <script src="../babel.min.js"></script>
  <script src="../lodash.min.js"></script>
</head>

<body>
  <div id="app"></div>
  <script type="text/babel">
    // 实现三层组件的跨组件通信
    let Welcome = (props) => {  
      return (
        <div>
          hello Welcome
          <MyContext.Provider value="welcome的问候~~~">
            <Head />
          </MyContext.Provider>
        </div>
      );
    }
    let Head = () => {
      return (
        <div>
          hello Head
          <Title />
        </div>
      );
    }
    let Title = () => {
      let value = useContext(MyContext);
      return (
        <div>
          hello Title, { value }
        </div>
      );
    }
    
    let element = (
      <Welcome />
    );
    root.render(element);
  </script>
</body>

</html>
相关推荐
前端Hardy7 分钟前
HTML&CSS:高颜值视差滚动3D卡片
前端·javascript·html
前端无涯10 分钟前
Vue---vue使用AOS(滚动动画)库
前端·javascript·vue.js
前端Hardy12 分钟前
HTML&CSS:超好看的数据卡片
前端·javascript·html
CUIYD_198915 分钟前
Vue 中组件命名与引用
javascript·vue.js·node.js
孙 悟 空17 分钟前
ArcGIS Maps SDK for JavaScript:使用图层过滤器只显示FeatureLayer的部分要素
javascript·arcgis
独立开阀者_FwtCoder1 小时前
MySQL FULLTEXT索引解析:为什么它能大幅提升文本搜索性能?
前端·javascript·面试
EndingCoder1 小时前
React从基础入门到高级实战:React 实战项目 - 项目一:在线待办事项应用
前端·javascript·react.js·前端框架
JacksonGao1 小时前
React Fiber的优先级系统你知道多少?
前端·react.js
whatever who cares1 小时前
React hook之userReducer
react.js·react
月下点灯1 小时前
使用Set集合新特性,快速实现一个商品SKU(单品)规格选择器
前端·javascript·vue.js