好客租房51-通讯的三种方式(子组件传递给父组件)

思路:利用回调函数 父组件提供回调 子组件调用 将要传递的数据作为回调函数的参数

//导入react
import React from 'react'
import ReactDOM from 'react-dom'
 
//导入组件
// 约定1:类组件必须以大写字母开头
// 约定2:类组件应该继承react.component父类 从中可以使用父类的方法和属性
// 约定3:组件必须提供render方法
// 约定4:render方法必须有返回值
 
class Parent extends React.Component {
    state = {
        data: '',
    }
    getChildMsg = (data) => {
        console.log('接受到子组件传递过去的数据:' + data)
        this.setState({
            data,
        })
    }
    render() {
        return (
            <div>
                父组件:{this.state.data}
                <Child getMsg={this.getChildMsg} />
            </div>
        )
    }
}
class Child extends React.Component {
    state = {
        name: 'geyao',
    }
    handleClick = () => {
        this.props.getMsg(this.state.name)
    }
    render() {
        return (
            <div>
                子组件:<button onClick={this.handleClick}>点击</button>
            </div>
        )
    }
}
ReactDOM.render(<Parent />, document.getElementById('root'))
运行结果

 

posted @ 2022-05-18 18:43  前端导师歌谣  阅读(19)  评论(0编辑  收藏  举报