react 跨层级组件传值context

利用 定义一个React.createContext默认值 之后在数据源组件中外层包裹Provider进行传值 之后在接收组件的外层包裹Consumer接收数据回调使用

传值

import React, { Component } from 'react'; import Fa from './fa'; export const ProductContext = React.createContext(0); export const { Provider, Consumer } = ProductContext; export default class Grend extends Component { constructor(props) { super(props); this.state = { name: '小饼干', index: 0 }; } changeIndex = () => { const { index } = this.state this.setState({ index: index + 1 }) } render() { const { index } = this.state return ( <Provider value={index}> <button onClick={this.changeIndex}>报数</button> <Fa /> </Provider> ) } }

接收

import React, { Component } from 'react'; import { Consumer } from './grend' export default class Ch extends Component { render() { return ( <Consumer> {theme => <div>我是{theme}号小饼干</div> } </Consumer> ) } }

 

 

1|0 


__EOF__

本文作者fiamme
本文链接https://www.cnblogs.com/vivin-echo/p/15577049.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   fiamme  阅读(307)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示