在反应原生中隐藏旧页面的标题



我目前正在开发一个反应原生应用程序,我被困在了一段时间内。 问题是我有这样的设置

主页 -> 设置页面 ->信息页面

我已经在主页上隐藏了标题,在设置页面上做了一个可见的标题以及我想做什么: 我想在导航到信息页面时从设置页面隐藏标题。我的意思是我希望第三页从屏幕上获得所有空间。

我将附上一个零食示例,说明在我的情况下会发生什么...... 希望有人能告诉我一个解决方案。 提前谢谢你!:)

https://snack.expo.io/@sapuu_ae/example-snack-stack ->在Android/iOS设备上打开它,它在网络模拟器上不会显示良好。

问题不在于标题,只是您的导航设置有点时髦。以下是使用不同导航设置的两个工作版本。首先,我们需要定义我们的屏幕。

class Home extends React.Component {
render() {
return (
<View style={styles.container}>
<Text style={styles.paragraph} onPress={() => this.props.navigation.navigate('Second')}>
Press it
</Text>
</View>
);
}
}
class Second extends React.Component {
render() {
return (
<View style={styles.container}>
<Text style={styles.paragraph}>
Second Page
</Text>
<Text style={styles.paragraph} onPress={() => this.props.navigation.navigate('Third')}>
Press for Third Page
</Text>
</View>
);
}
}
class Third extends React.Component {
render() {
return (
<View style={styles.container}>
<Text style={styles.paragraph}>
Third page here
</Text>
</View>
);
}
}
  1. 这个假设所有屏幕都是同一堆栈的一部分:
const RootStack = createStackNavigator({
Home: Home,
Second: Second,
Third : Third
});
const AppContainer = createAppContainer(RootStack);
export default class App extends React.Component {
render() {
return <AppContainer />;
}
}
  1. 这个假设第三个屏幕与第二个屏幕一起包含在另一个堆栈中。
const secondScreenStack = createStackNavigator({
Second: Second,
Third: Third
}, {
defaultNavigationOptions: {
header: null
}
});
const RootStack = createStackNavigator({
Home: Home,
Second: secondScreenStack
});
const AppContainer = createAppContainer(RootStack);
export default class App extends React.Component {
render() {
return <AppContainer />;
}
}

最新更新