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>
相关推荐
harry7591 分钟前
Flex-1 布局实现内部滚动条
前端·javascript·css
很酷爱学习2 分钟前
js内存泄漏的几种情况、js垃圾回收机制、内存机制
javascript
jqq6662 分钟前
(一)「造轮子」我也写了个Vue3脚手架!(整体介绍)
前端·javascript·vue.js
the_one3 分钟前
🚀让动画动起来!用 CSS 延迟变量打造交互式炫酷小球动画
前端·javascript·css
小饼干就是我4 分钟前
React V18+下,useEffect()的调度执行时机之我与Deepseek的拉锯战
react.js
阿炸7 分钟前
js中原型链实现继承——最佳实践
前端·javascript
赵晟鼎11 分钟前
node常用fs文件操作方法
前端·javascript·node.js
女生也可以敲代码11 分钟前
如何使用 qrcode.react生成二维码
前端·react.js·typescript
拖孩1 小时前
微信小程序基于Canvas实现头像图片裁剪(下)
前端·javascript·微信小程序
哟哟耶耶1 小时前
React-05React中props属性(传递数据),propTypes校验,类式与函数式组件props的使用
前端·javascript·react.js