React native 反应自然<;导航器/>;:如何从实例化它的类控制它
我在index.ios.js文件中有一个实例,如下所示: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"
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();
}