Javascript 使用react native中的ref调用child中的函数

Javascript 使用react native中的ref调用child中的函数,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我对React Native非常陌生,来自React和其他前端技术。我的子组件中有这个切换方法,我想从我的父组件调用它。我试过使用refs。我在React中对它很熟悉,但它的工作原理不同,使用的代码如下: gameRef = createRef(); toggleGameMenu = () => { this.gameRef.toggle(); } ... <Sheet title="How would you like to play" ref={this.gameR

我对React Native非常陌生,来自React和其他前端技术。我的子组件中有这个切换方法,我想从我的父组件调用它。我试过使用refs。我在React中对它很熟悉,但它的工作原理不同,使用的代码如下:

gameRef = createRef();

toggleGameMenu = () => {
    this.gameRef.toggle();
}

...

<Sheet title="How would you like to play" ref={this.gameRef} />

这将返回如下内容。gameRef.toggle不是函数。我很确定该方法确实存在于我的子组件中。所以我在react native中寻找裁判,我遇到了。我认为这是有帮助的,但我不确定我是否可以从我的父母那里调用我孩子的方法?我看到了setNativeProps,但我能理解的是它是关于属性/值的,而不是调用方法。有人知道如何解决这个问题吗?

删除createRef

用这个,

<Sheet title="How would you like to play" ref={ instance => this.gameRef = instance } />

并确保在安装组件后使用此.gameRef.toggle。在此之前,它将抛出错误。

请不要以错误的方式看待此问题,但在我看来,这完全是一个x/y问题。。。在React中,每当我看到一个父组件试图强制戳它的一个子组件时,我立即知道出了问题,这应该是解决问题的更好方法。所以,如果你不介意的话:你想在这里完成什么?你可能想添加你是如何定义孩子的切换函数的。