我对React Native还是很陌生,来自React和其他前端技术。我的子组件中有这个toggle
方法,我想从我的父母那里调用。我尝试使用的是引用。我从React熟悉了它,但是使用以下代码却无法正常工作:
gameRef = createRef();
toggleGameMenu = () => {
this.gameRef.toggle();
}
...
<Sheet title="How would you like to play" ref={this.gameRef} />
这将返回类似this.gameRef.toggle isn't a function
的内容。我很确定该方法确实存在于我的子组件中。因此,我在react native中搜索引用,遇到this page。我以为这是有帮助的,但是我不确定是否可以从父母那里给我的孩子调用该方法?我看到了setNativeProps
,但据我了解,它与属性/值有关,而不是调用方法。有人对如何解决这个问题有想法吗?
答案 0 :(得分:1)
删除createRef()
,
代替此,
<Sheet title="How would you like to play" ref={ instance => this.gameRef = instance } />
,并确保在安装组件后使用this.gameRef.toggle()
。在此之前它将引发错误。