深入了解React(十、兄弟组件间通信)

阅读: 评论:0

深入了解React(十、兄弟组件间通信)

深入了解React(十、兄弟组件间通信)

本质就是先把一个子组件数据传输到父组件,然后通过父组件传输到另外一个子组件,这样就实现了兄弟间组件的通信

import React from 'react';
import ReactDOM from 'react-dom';import 'font-awesome/css/font-awesome.min.css';
import './index.css';
import './index.scss';class Child_1 extends React.Component {constructor(props) {super(props);}handleClick() {this.props.changeChild_2Color('blue');}render() {return (<div><h1>Child_1:{this.props.bgColor}</h1><p><button onClick={(e) => {this.handleClick(e)}}>改变Child_2背景色bgColor</button></p></div>);}
}class Child_2 extends React.Component {constructor(props) {super(props);}render() {return (<div style={{backgroundColor: this.props.bgColor}}><h1>child_2背景色:{this.props.bgColor}</h1></div>);}
}class Father extends React.Component {constructor(props) {console.log('constructor---props:', props);super(props);this.state = {child_2BgColor: '#999'};console.log('constructor---props:', props);}onChild_2BgColorChange(color) {this.setState({child_2BgColor: color});}render(props) {console.log('render---props:', props);return (<div><Child_1 changeChild_2Color={(color) => {Child_2BgColorChange(color)}}/><Child_2 bgColor={this.state.child_2BgColor}/></div>)}
}class App extends React.Component {render() {return (<div className=""><Father><p><span>App Span</span></p><p><a href="">link</a></p></Father><hr/></div>);}
}der(<div>{/*<Component></Component>*/}<App></App></div>,ElementById('app')
);

本文发布于:2024-02-04 21:06:57,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170716418959613.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:组件   兄弟   通信   React
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23