react-native - 如何使用嵌套的导航器堆栈更改标题?
问题描述
loginFlow StackNavigator 中屏幕上的标题会发生变化,但我无法更改 mainFlow 堆栈中的任何导航选项。
const AppStackNavigator = StackNavigator(
{
loginFlow: {
screen: StackNavigator(
{
Landing: { screen: Landing },
Login: { screen: Login },
Signup: { screen: Signup }
},
{
mode: "modal"
//headerMode: "screen"
}
)
},
mainFlow: {
screen: StackNavigator(
{
someTab: {
screen: TabNavigator({
Suppliers: { screen: Suppliers },
Shortlist: { screen: Shortlist }
})
}
},
{
//headerMode: "screen"
}
)
}
},
{
headerMode: "none"
}
);
我在注册标题栏上的代码有效:
static navigationOptions = {
headerTitle: <Image source={require("../../../assets/img/logo-coloured.png")} />,
headerRight: <Image source={require("../../../assets/img/signup.png")} style={{ marginRight: 15 }} />,
headerLeft: <Image source={require("../../../assets/icons/close.png")} style={{ marginLeft: 15 }} />,
headerStyle: { backgroundColor: "#fff", elevation: 0, borderBottomWidth: 0 }
};
TabNavigator 屏幕上使用的相同代码根本不会更改导航标题。
解决方案
您可以通过这种方式为 TabNavigator 设置一个标题:
mainFlow: {
screen: StackNavigator(
{
someTab: {
screen: TabNavigator({
Suppliers: { screen: Suppliers },
Shortlist: { screen: Shortlist }
}),
navigationOptions: { title: "someTab title"}
}
}
)
}
推荐阅读
- javascript - 如何使用 RequireJS 填充 Leaflet + mapbox?
- python - 在numpy数组的某个范围内添加一些值?
- javascript - 如何使用 javascript 显示 Powerpoint PPT 文件幻灯片动画
- php - 用于不同控制器的 laravel 公共变量
- flutter - 如何使用条形码结果在flutter中打开webview
- javascript - 打字稿用函数创建自己的类型
- python - 在 django admin 中显示 ManyToMany 关系的值
- python - 如果我安装了 python3 和 Kivy,为什么会显示语法错误?
- c++ - 如果构造函数抛出 RAII 和成员?
- java - 如何从更深的层将对象绑定到数组 1