react-兄弟组件-共享状态

简介: react-兄弟组件-共享状态

1. 前言

  1. react 好久没写啥文章了
  2. 最近 有人问个问题 简单写了个 demo
  3. 这里再做个梳理

2. 是什么 what

  1. 传参/通信
  2. 父子组件传参
  3. react-redux
  4. 兄弟组件 也还没写 正好补全吧

3. 思路

  1. 将共享状态 提升到最近的公共组件 父组件中,由父组件管理这个状态
  2. 公共父组件 功能
  3. 提供共享状态
  4. 提供操作共享状态的方法

4.  布局

  1. image.png
  2. 想写计算器 有点麻烦 做个 demo 吧
  3. 显示器 是个子组件 Child1
  4. 下面是 是个子组件 Child2

5.  子组件

  1. 子组件 1

const Child1 = (props)=>{
          return <h1> 显示器:{props.count}</h1>
        }
  1. 子组件 2

const Child2 = (props)=>{
          console.log(props)
          return <button onClick={ ()=> props.increase(10)}>+1</button>
        }

6. 父组件

  1. 核心代码

let { Component } = React;
      // 子组件
      class Counter extends Component {
        // 提供共享状态
        state = {
          count:0
        }
        // 提供修改方法
        increase = (n = 1)=>{
          this.setState({
            count:this.state.count + n
          }) 
        }
          render(){
            return(
              <div>
                  <h1>计算器</h1>
                  <Child1 count={this.state.count}/>
                  <Child2 increase={this.increase} />
              </div>
            )
          }
        }

7. 后记

  1. 就是 相当于 一个简单的 事件总线/event Bus

参考资料

父子组件传参

react-redux


初心

我所有的文章都只是基于入门,初步的了解;是自己的知识体系梳理,如有错误,道友们一起沟通交流;
如果能帮助到有缘人,非常的荣幸,一切为了部落的崛起;
共勉
相关文章
|
1月前
|
缓存 前端开发 JavaScript
React Hooks深度解析与最佳实践:提升函数组件能力的终极指南
🌟蒋星熠Jaxonic,前端探索者。专注React Hooks深度实践,从原理到实战,分享状态管理、性能优化与自定义Hook精髓。助力开发者掌握函数组件的无限可能,共赴技术星辰大海!
React Hooks深度解析与最佳实践:提升函数组件能力的终极指南
|
6月前
|
缓存 前端开发 数据安全/隐私保护
如何使用组合组件和高阶组件实现复杂的 React 应用程序?
如何使用组合组件和高阶组件实现复杂的 React 应用程序?
272 68
|
6月前
|
缓存 前端开发 Java
在 React 中,组合组件和高阶组件在性能方面有何区别?
在 React 中,组合组件和高阶组件在性能方面有何区别?
251 67
|
6月前
|
前端开发 JavaScript 安全
除了高阶组件和render props,还有哪些在 React 中实现代码复用的方法?
除了高阶组件和render props,还有哪些在 React 中实现代码复用的方法?
283 62
|
9月前
|
移动开发 前端开发 API
React 音频播放器组件 Audio Player
本文介绍如何使用React创建音频播放器组件,涵盖核心功能如播放/暂停、进度条、音量控制和时间显示。通过HTML5 `&lt;audio&gt;` 元素和React的声明式状态管理,实现交互式音频播放。常见问题包括控件不响应、进度条无法更新和音量控制失灵,并提供解决方案。此外,还讨论了浏览器兼容性、异步错误处理和性能优化等易错点及避免方法。
706 123
|
8月前
|
前端开发 JavaScript
除了使用Route组件,React Router还有其他方式处理404错误页面吗
除了使用Route组件,React Router还有其他方式处理404错误页面吗
245 58
|
8月前
|
前端开发
React 中高阶组件的原理是什么?
React 中高阶组件的原理是什么?
236 57
|
8月前
|
前端开发 开发者
除了函数组件和类组件,React 还有其他创建组件的方式吗?
除了函数组件和类组件,React 还有其他创建组件的方式吗?
184 57
|
8月前
|
前端开发
如何在React Router中定义404错误页面组件?
如何在React Router中定义404错误页面组件?
225 57
|
8月前
|
前端开发
在 React 中使用高阶组件时,如何避免命名冲突?
在 React 中使用高阶组件时,如何避免命名冲突?
220 56