react子传父

Posted luguankun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了react子传父相关的知识,希望对你有一定的参考价值。

react里子组件不能直接操作父组件的数据。

所以要从父组件传递一个方法给子组件,

子组件获取到该方法后,把子数据传入该方法,

父组件才能获取到子数据

例子:

子组件 Child.js

import React,  Component  from ‘react‘
class Child extends Component
    constructor(props)
        super(props)
        this.state = 
            cdata:"子组件数据"
        
    
    render()
        return(
            <div>
                <button onClick=this.trans.bind(this,this.state.cdata)>确定</button>
            </div>
        )
    

    //点击子组件时,定义一个方法,调用父组件传过来的方法,把子组件数据传入到这个方法里
    trans(data)
        this.props.content(data)
    

export default Child;

 

父组件App.js

import React,  Component  from ‘react‘;
import Child from ‘./Child‘
class App extends Component
  constructor(props)
    super(props)
    this.state = 
      pdata:"父组件数据"
    
  
  render()
    return(
      <div>
        /* 传递一个方法给子组件 */
        <Child content=this.getValue.bind(this)></Child>
        this.state.pdata
      </div>
    )
  

  //在方法里传入一个参数,val就是子组件传过来的数据
  getValue(val)
    this.setState(
      pdata:val
    )
  

export default App;

 

以上是关于react子传父的主要内容,如果未能解决你的问题,请参考以下文章

React传值(子传父,父传子)

react实现父传子子传父

React数据通信父传子和子传父的使用

React中的组件通信——父传子子传父Context

c# 子窗口如何将信息传至父窗口

React的三大属性