react-native - 未定义不是反应原生的对象(评估_this.ref.method)
问题描述
我有 2 个组件:
1:父母 2:孩子
我想将一些数据从孩子传递给父母。事实上,我在父组件中有一个方法如下:
mymethod= (message) => {
console.warn(message);
}
在我使用的子组件中:
<Parent ref= { (child) => {this.refs= child; }} />
this.refs.mymethod(message);
但是当我运行该代码时,我得到了这个:
未定义不是对象(评估 _this.ref.method)
解决方案
你在做什么是错误的。您需要将方法从父级传递给子级作为道具,并在需要时调用子级中的方法。
export default Parent extends Component{
mymethod= (message) => {
console.warn(message);
}
render(){
return (
<div>
<Child mymethod={this.mymethod} />
<Child2 />
</div>)
}
}
您可以访问 child 中的方法this.props.mymethod(message)
推荐阅读
- php - XAMPP php executing both if and else parts
- sql - Select all rows that have at least a list of features with wildcard support
- html - html中心垂直对齐不起作用
- javascript - 木偶表演时间表?
- r - 数据框中两列的双重匹配
- python - QSortFilterProxyModel 按日期范围过滤
- java - JavaFX getText()、setText()、toString() 给出空指针
- android - 如何防止 Android CursorLoader 重新加载?
- sql-server - 将 SQL Server 数据库迁移到 Azure 时出错
- php - 网站主页正在加载,其他页面均无效