我有2个组成部分:
1:父母 2:孩子
我想将一些数据从孩子传递给父母。实际上,我在父组件中有一个方法如下:
mymethod= (message) => {
console.warn(message);
}
在我正在使用的子组件中:
<Parent ref= { (child) => {this.refs= child; }} />
this.refs.mymethod(message);
但是当我运行该代码时,我得到了:
未定义不是对象(评估_this.ref.method)
答案 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)
的身份访问子对象中的方法