未定义不是React Native中的对象(评估_this.ref.method)

时间:2018-09-18 04:49:10

标签: react-native

我有2个组成部分:

1:父母 2:孩子

我想将一些数据从孩子传递给父母。实际上,我在父组件中有一个方法如下:

mymethod= (message) => {
console.warn(message);
}

在我正在使用的子组件中:

      <Parent ref= { (child) => {this.refs= child; }} />
      this.refs.mymethod(message);

但是当我运行该代码时,我得到了:

  

未定义不是对象(评估_this.ref.method)

1 个答案:

答案 0 :(得分:1)

您在做什么是错误的。您需要将方法作为属性从父对象传递到子对象,并在需要时在子对象中调用该方法。

  export default Parent extends Component{
         mymethod= (message) => {
    console.warn(message);
    }
     render(){
       return (
       <div>
         <Child mymethod={this.mymethod} />
          <Child2 />
         </div>)
       }    
          }

您可以以this.props.mymethod(message)的身份访问子对象中的方法