Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native 反应自然<;导航器/>;:如何从实例化它的类控制它_React Native_Navigator - Fatal编程技术网

React native 反应自然<;导航器/>;:如何从实例化它的类控制它

React native 反应自然<;导航器/>;:如何从实例化它的类控制它,react-native,navigator,React Native,Navigator,我在index.ios.js文件中有一个实例,如下所示: render() { return( <Navigator style={styles.navigator} renderScene={this.renderScene} initialRoute={{ component: test, navigationBar: <NavigationBar title="home"

我在index.ios.js文件中有一个实例,如下所示:

render() {
    return(
      <Navigator
        style={styles.navigator}
        renderScene={this.renderScene}
        initialRoute={{
          component: test,
          navigationBar: <NavigationBar title="home" />
        }}/>
    );
}
我如何做到这一点?我认为我必须使用一种叫做refs的东西,并尝试添加一个参考,如下所示:

render() {
    return(
      <Navigator
        ref="ref1"
        style={styles.navigator}
        renderScene={this.renderScene}
        initialRoute={{
          component: test,
          navigationBar: <NavigationBar title="home" />
        }}/>
    );
}
render(){
返回(
);
}
然后用以下方式调用此命令: resetStack(){ //navigator.poptoop(); 参考文献1.poptoop(); }

但这会导致一个错误: 找不到变量ref1


我如何做到这一点?如何在子组件中触发方法?

使用路由和导航器上下文调用
renderScene
方法,允许您将导航器传递到场景组件中:

renderScene(route, navigator) {
  return <ExampleScene navigator={navigator} />;
}


此处提供了文档:

,供其他有此问题的人使用。我对上述代码非常熟悉,但忽略了将this.refs.referenceName添加到调用中,最后的代码是:

render() {
    return(
      <Navigator
        ref="ref1"
        style={styles.navigator}
        renderScene={this.renderScene}
        initialRoute={{
          component: test,
          navigationBar: <NavigationBar title="home" />
        }}/>
    );
}

谢谢@ide,我想我可能没有解释清楚。我希望能够从父类触发驻留在子类中的函数。我现在已经设法让推荐人工作了。我意识到我错在哪里了。非常感谢。继续努力。爱你的祖国!
Navigator.getContext(this).popToTop();
render() {
    return(
      <Navigator
        ref="ref1"
        style={styles.navigator}
        renderScene={this.renderScene}
        initialRoute={{
          component: test,
          navigationBar: <NavigationBar title="home" />
        }}/>
    );
}
resetStack(){
  // navigator.popToTop();
  this.refs.ref1.popToTop();
}