react 非父子组件传参方式

1.通过父组件当中间人方式,子传父再传子
2.通过发布订阅模式

obj={
list:[],
 sub(callback){
list.push(callback)
},
pub(){
list.foreach((callback)=>{
  callback()

})
}
}

obj.sub(()=>{
console.log(''')

})

obj.pub()

先发布后订阅

3.context通讯

父组件通过包裹
ThemeContext= react.createContext()
<ThemeContext.Provider value={{
theme: themes[themeIndex],
changeTheme: this.changeTheme
}}>

子组件

<ThemeContext.Consumer>
{({theme, changeTheme}) => <button onClick={changeTheme} style={{background: theme.background, color: theme.color}}> It's a button. }
</ThemeContext.Consumer>

posted @   木头小屋  阅读(136)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示