当前位置: 首页 > news >正文

重温react-08(createContext使用方式)

react中的createContext使用方式

简介一下,就是组件之间可以互相通信的比较好用的传值方式,话不多说直接上代码。

以下介绍的是类组件中的方式,在函数组件中不是如此使用的。

定义一个通用的方法

import { createContext } from "react";
const Context = createContext();// Content有两个属性
//    1. Provider 数据提供者
//    2. Consumer 数据使用者const { Provider, Consumer } = Context;
export {Provider,Consumer
}

现在是数据提供者的页面代码

const data = {name: 'John Doe',age: 30,hobbies: ['reading', 'painting', 'traveling']
}
root.render(<React.StrictMode><Provider value={data}><App /></Provider></React.StrictMode>
);

就是把这个data传过去了,不论是子代组件还是孙子组件都可以使用这个传参方法,如果组件套的层级太深了的话,要一层一层传不方便,但是用这个方式就简单很多。

儿子组件使用方式(代码片段)

import React from 'react';
import { Consumer } from './context/index'
import LearnFunction04 from './LearnFunction04'; //  useEffect第二个参数的用法
export default function boxReact() {return (<div><Consumer>{(data) => {console.log(data);return <div>{data.name}</div>}}</Consumer> </div>)
}

孙子组件使用方式

import React, { Component } from 'react'
import {Consumer} from './context/index'
export default class LearnFunction04 extends Component {render() {return (<Consumer>{(data) => {return  <div>{data.name}</div>}}</Consumer>)}
}

后代所有组件的方式都是如同孙子组件的使用方式

http://www.lryc.cn/news/387446.html

相关文章:

  • LInux后台运行程序
  • DEBOPIE框架:打造最好的ChatGPT交易机器人
  • C++ Thead多线程 condition_variable 与其使用场景---C++11多线程快速学习
  • 什么是前端开发?
  • 大数据面试题之Spark(1)
  • Spring Boot 和 Spring Framework 的区别是什么?
  • JVM原理(四):JVM垃圾收集算法与分代收集理论
  • 1961 Springboot自习室预约系统idea开发mysql数据库web结构java编程计算机网页源码maven项目
  • 前端面试题(12)答案版
  • SpringMVC 域对象共享数据
  • 每天五分钟深度学习框架pytorch:tensor向量之间常用的运算操作
  • 【数据结构】(C语言):栈
  • c++类成员指针用法
  • [240625] Continue -- 开源 Copilot | Web-Check 网站分析工具 | Story of EOL
  • 【Mac】Auto Mouse Click for Mac(高效、稳定的鼠标连点器软件)软件介绍
  • javaSE知识点整理总结(下)、MySQL数据库
  • Perl入门学习
  • 2024年7月计划(ue5肉鸽视频完成)
  • 恢复策略(上)-撤销事务(UNDO)、重做事务(REDO)
  • 【鸿蒙学习笔记】位置设置
  • 41.HOOK引擎设计原理
  • STM32启动流程 和 map文件的作用
  • 深度解析华为仓颉语言
  • Android简介-历史、API等级与体系结构
  • SpringBoot:使用Spring Batch实现批处理任务
  • 用JQueryUI库在.net MVC中配置datepicker(时间日期控件)
  • 算法:链表
  • Redis基础教程(一):redis配置
  • 短视频矩阵系统:打造品牌影响力的新方式
  • 品牌推广的三个阶段与核心内容,一篇文章全掌握!