React的父子组件通信

首先要知道React的组件间通讯是单向的。数组必须是由父级传到子级或者子级传递给父级层层传递。
如果要给兄弟级的组件传递数据,那么就要先传递给父级而后在传递给你要传递到的组件位置。


父级组件向子级组件传递数据
在React中,父组件可以向子组件通过传props的方式,向子组件进行通讯。
父组件 App.js

import React, { Component } from 'react';
import './App.css';
import Child from './child'
export default class App extends Component {
    constructor(props){
        super(props);
        this.state={
            msg:'父类的消息',
            name:'John',
            age:99
        }
    }
    callback=(msg,name,age)=>{
        // setState方法,修改msg的值,值是由child里面传过来的
        this.setState({msg});
        this.setState({name});
        this.setState({age});
    }
    render() {
     return (
       <div className="App">
         <p> Message: &nbsp;&nbsp;{this.state.msg}</p>
         <Child callback={this.callback} age={this.state.age} name={this.state.name}></Child>
       </div>
     );
    }
}

子组件 Child

import React from "react";

export default class Child extends React.Component{
    constructor(props){
         super(props);
         this.state={
             name:'Andy',
             age:31,
             msg:"来自子类的消息"
         }
     }
    change=()=>{
        this.props.callback(this.state.msg,this.state.name,this.state.age);
    }
    render(){
        return(
            <div>
                <div>{this.props.name}</div>
                <div>{this.props.age}</div>
                <button onClick={this.change}>点击</button>
            </div>
        )
    }
}

子组件向父组件通信
子组件向父组件通信,同样也需要父组件向子组件传递props进行通讯,只是父组件传递的是作用域为父组件自身的函数,子组件调用该函数,将子组件想要传递的信息,作为参数,传递到父组件的作用域中。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 作为一个合格的开发者,不要只满足于编写了可以运行的代码。而要了解代码背后的工作原理;不要只满足于自己的程序...
    六个周阅读 12,721评论 1 33
  • 通信 父元素传一个函数给子元素 子元素在恰当的时间调用这个函数 回调 爸爸组件 儿子组件 传入 爸爸组件 儿子组件...
    写代码的海怪阅读 2,880评论 0 1
  • 深入JSX date:20170412笔记原文其实JSX是React.createElement(componen...
    gaoer1938阅读 12,482评论 2 35
  • 在使用 React 的过程中,不可避免的需要组件间进行消息传递(通信),组件间通信大体有下面几种情况: 父组件向子...
    柏丘君阅读 93,404评论 7 80
  • 他日釆菊南山下, 童仆煮酒野亭中。 把盏啖青梅。 远舟已过群山去, 不见故人天际还。 何日再同游。
    凛墨阅读 1,630评论 0 0

友情链接更多精彩内容