简单教你React父子组件间平级组件间传值

国庆充电特辑:

堵车堵死,废话不多说直接上菜。

1.父组件对子组件传值 利用props属性传值

class Component extends React.Component {
    constructor (props) {
      super(props);
    }
    render() {
      return (
        

I am {this.props.name}

); } } ReactDOM.render(

hello world!!!

, document.getElementById('app') );

效果如图 爸爸的凝视,会了没(手动滑稽)

简单教你React父子组件间平级组件间传值_第1张图片

2.子组件对父组件传值 简单来说就是利用回调来完成,比如下面例子,子组件来改变父组件的颜色

// 处理父子组件间传值
class Child extends React.Component {
    constructor (props) {
      super(props);

    }
    handleClick() {
      this.props.colorChange('yellow')
    }

    render() {
      return (
        

父组件的值 {this.props.bgColor}

); } } class Father extends React.Component { constructor (props) { super(props); this.state={ bgColor: '#999' }; } onBgColorChange(color) { this.setState({ bgColor: color }) } render() { return (
{this.onBgColorChange(color)}}> {/* 子组件像父组件传值,设置回调 */}
); } } ReactDOM.render(
, document.getElementById('app') );

看效果

简单教你React父子组件间平级组件间传值_第2张图片

简单教你React父子组件间平级组件间传值_第3张图片

3.同一父组件下平级组件间传值 ,简单一句话 子组件先传给父组件,父组件再传给那个子组件 

// 处理平级组件间传值 ,先传给父组件,父组件再传给另一个组件
class Child1 extends React.Component {
    constructor (props) {
      super(props);

    }
    handleClick() {
      this.props.changeChild2Color('yellow')
    }

    render() {
      return (
        

Child1: {this.props.bgColor}

); } } class Child2 extends React.Component { constructor (props) { super(props); } render() { return (

Child2: {this.props.bgColor}

); } } class Father extends React.Component { constructor (props) { super(props); this.state={ child2BgColor: '#999' }; } onChild2BgColorChange(color) { this.setState({ child2BgColor: color }) } render() { return (
{/* 平级组件间传值*/} {this.onChild2BgColorChange(color)}}>
); } } ReactDOM.render(
, document.getElementById('app') );

看效果

简单教你React父子组件间平级组件间传值_第4张图片

简单教你React父子组件间平级组件间传值_第5张图片

 

学会了吧,回见,继续堵车!!!

你可能感兴趣的:(React)