003*:React 父子通信

目录

 

正文

1:父子通信

/*
目标:父传子传递属性,子传父-传递回调函数

功能:
1:两个组件一个导航,一个侧边栏
2:点击导航里的按钮控制侧边栏的显示和隐藏
*/

import React, { Component } from 'react'

//  导航组件

class NavBar extends Component {
  render() {
    return (
      <div>
        <button onClick={()=> {
            this.props.clickAction()
        }}>按钮</button>
      </div>
    )
  }
}


class Slider extends Component {
    render() {
      return (
        <div style={{width: "100px", background: "yellow"}}>
            <h1>11111</h1>
            <h1>11111</h1>
            <h1>11111</h1>
            <h1>11111</h1>
            <h1>11111</h1>
            <h1>11111</h1>
            <h1>11111</h1>
            <h1>11111</h1>
            <h1>11111</h1>
            <h1>11111</h1>
        </div>
      )
    }
  }

export default class FatherChildConnectComponent extends Component {

    state = {
        isSliderShow: false
    }

    render() {
        return (
            <div>
                <NavBar clickAction={this.handleNavChildClick}></NavBar>

                {this.state.isSliderShow &&  <Slider></Slider>}
            </div>
        )
    }

    // 父组件给子组件传递一个方法,导航用来控制侧边栏的显示和隐藏
    handleNavChildClick = () => {
        this.setState({
            isSliderShow: !this.state.isSliderShow
        })
    }
}

 

 

引用

posted on 2024-01-23 19:38  风zk  阅读(5)  评论(0编辑  收藏  举报

导航