react-兄弟组件-共享状态
2023-02-12 本文已影响0人
云高风轻
1. 前言
- react 好久没写啥文章了
- 最近 有人问个问题 简单写了个 demo
- 这里再做个梳理
2. 是什么 what
- 传参/通信
- 父子组件传参
- react-redux
- 兄弟组件 也还没写 正好补全吧
3. 思路
- 将共享状态 提升到最近的公共组件 父组件中,由父组件管理这个状态
- 公共父组件 功能
- 提供共享状态
- 提供操作共享状态的方法
4. 布局
- 想写计算器 有点麻烦 做个 demo 吧
- 显示器 是个子组件 Child1
- 下面是 是个子组件 Child2
5. 子组件
- 子组件 1
const Child1 = (props)=>{
return <h1> 显示器:{props.count}</h1>
}
- 子组件 2
const Child2 = (props)=>{
console.log(props)
return <button onClick={ ()=> props.increase(10)}>+1</button>
}
6. 父组件
- 核心代码
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. 后记
- 就是 相当于 一个简单的 事件总线/event Bus