Javascript 更改导航栏以响应导航状态
我正在编写一个应用程序,只希望在将新视图推到导航器上时显示“后退”按钮(在本例中,是新闻文章还是新闻文章列表) 这样做的方法似乎是修改render(),使其仅包含特定导航器状态的“后退”按钮。虽然React原生文档建议导航器中的组件可以使用getContext访问它,但这似乎不适用于navigatorBar 这样做对吗?如何仅在某些导航状态下渲染“后退”按钮Javascript 更改导航栏以响应导航状态,javascript,react-native,Javascript,React Native,我正在编写一个应用程序,只希望在将新视图推到导航器上时显示“后退”按钮(在本例中,是新闻文章还是新闻文章列表) 这样做的方法似乎是修改render(),使其仅包含特定导航器状态的“后退”按钮。虽然React原生文档建议导航器中的组件可以使用getContext访问它,但这似乎不适用于navigatorBar 这样做对吗?如何仅在某些导航状态下渲染“后退”按钮 <Navigator initialRoute={{name: 'NewsList', index: 0}} ren
<Navigator
initialRoute={{name: 'NewsList', index: 0}}
renderScene={this.renderScene}
sceneStyle={styles.navigator}
navigationBar={
<View style={styles.navbar}>
<View style={styles.logo_container}>
<Text style={styles.backButton}>Back</Text>
<Image
source={require( 'image!Logo' )}
style={styles.logo}
/>
</View>
<View style={styles.separator} />
</View>
}
/>
它将帮助您将导航条形码移动到自己的组件中,将路线信息传递到其中*,然后检查路线深度 TLDR 或者只是让你的生活更轻松,使用这些插件中的任何一个为你做这项工作 反应本机导航栏 反应本机路由器
*由于添加了Navigator.getContext(this.xxx),可能不再需要通过路由。有关getContext的更多信息,请参阅navigator文档为了澄清,我希望使用navigator的navigationBar属性来实现这一点。我认为getContext无法从传递到此属性的组件中工作。两个链接的Github repo都没有使用它。好的,对不起,错过了。navigationBar项可以访问navigator和路由信息,因此您仍然可以从navigationBar组件中检查路由索引。如果查看react原生导航栏的源代码,您将看到Kureev在index.js的第81行实现了相同的功能--(navigator.getCurrentRoutes&&navigator.getCurrentRoutes().length)
if (route.index > 0){
//Show Back Button.
}