栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

react 组件传值的三种方法

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

react 组件传值的三种方法

整理 react 组件传值 三种方式

父组件向子组件传值(通过props传值)

子组件:

  class Children extends Component{
    constructor(props){
      super(props);
    }
    render(){
      return(
 这是:{this.props.name} // 这是 父向子
      )
    }
  }

父组件:

  class App extends React.Component{
    render(){
      return(
 
   
 
      )
    }
  }

父组件向子组件传值(回调函数)

子组件

  class Children extends Component{
    constructor(props){
      super(props);
    }
    handerClick(){
      this.props.changeColor('skyblue') // 执行父组件的changeColor 并传参 必须和父组件中的函数一模一样
    }
    render(){
      return(
 
   父组件的背景色{this.props.bgcolor} // 子组件接收父组件传过来的值 bgcolor
    // 子组件执行函数
 
      )
    }
  }

父组件

  class Father extends Component{
    constructor(props){
      super(props)
      this.state = {
 bgcolor:'pink'
      }
    }
    bgChange(color){
      this.setState({
 bgcolor:color
      })
    }
    render(props){
      
// 给子组件传递的值 color 
 {this.bgChange(color)}} /> 
     // changeColor 子组件的参数=color 当做形参
      
    }
  }

兄弟组件传值(子传给父,父再传给另一个子)

子组件1

  class Children1 extends Component{
    constructor(props){
      super(props);
    }
    handerClick(){
      this.props.changeChild2Color('skyblue') 
      // 改变兄弟组件的颜色 把changeChild2Color的参数传给父
    }
    render(){
      return(
 
   children1
   
 
      )
    }
  }

子组件2

  class Children2 extends Component{
    constructor(props){
      super(props);
    }
    render(){
      return(
 
 // 从父元素获取自己的背景色
   children2 背景色 {this.props.bgcolor}
   // children2 背景色 skyblue
 
      )
    }
  }  

父组件

class Father extends Component{
  constructor(props){
    super(props)
    this.state = {
      child2bgcolor:'pink'
    }
  }
  onchild2bgChange(color){
    this.setState({
      child2bgcolor:color
    })
  }
  render(props){
    
      {this.onchild2bgChange(color)}} />
      
    
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/75371.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号