首页 > 解决方案 > 未定义不是反应原生的对象(评估_this.ref.method)

问题描述

我有 2 个组件:

1:父母 2:孩子

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

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

在我使用的子组件中:

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

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

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

标签: react-native

解决方案


你在做什么是错误的。您需要将方法从父级传递给子级作为道具,并在需要时调用子级中的方法。

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

您可以访问 child 中的方法this.props.mymethod(message)


推荐阅读