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>
相关推荐
WeilinerL18 分钟前
泛前端代码覆盖率探索之路
前端·javascript·测试
浮游本尊21 分钟前
React 18.x 学习计划 - 第五天:React状态管理
前端·学习·react.js
JNU freshman1 小时前
vue 之 import 的语法
前端·javascript·vue.js
剑亦未配妥1 小时前
Vue 2 响应式系统常见问题与解决方案(包含_demo以下划线开头命名的变量导致响应式丢失问题)
前端·javascript·vue.js
爱吃的强哥1 小时前
Vue2 封装二维码弹窗组件
javascript·vue.js
凉柚ˇ1 小时前
Vue图片压缩方案
前端·javascript·vue.js
ByteCraze1 小时前
秋招被问到的常见问题
开发语言·javascript·原型模式
渣哥1 小时前
从代理到切面:Spring AOP 的本质与应用场景解析
javascript·后端·面试
UIUV2 小时前
JavaScript代理模式实战解析:从对象字面量到情感传递的优雅设计
javascript
摸着石头过河的石头2 小时前
JavaScript 防抖与节流:提升应用性能的两大利器
前端·javascript