如何让所有的堆叠屏幕只有一个样式,因为它们都有一个相同的样式.如你所见.具有HeaderStyle、HeaderTitleStyle、HeaderLeft、HeaderTitleAlign的选项props 具有相同的值.

这是我的App.js文件

const MainNavigator = () => { 
    return (
        <NavigationContainer>
            <Stack.Navigator initialRouteName="MainScreen">

                    <Stack.Screen
                        name="MagicScreen"
                        component={MagicScreen}
                        options={{
                            title: 'Magic',
                            headerStyle: {
                                backgroundColor: '#0074C4',
                            },
                            headerTitleStyle: {
                                color: 'white',
                                fontSize: 24
                            },
                            headerLeft: null,
                            headerTitleAlign: 'center',
                        }}
                    />

                    <Stack.Screen
                        name="FightingStyleScreen"
                        component={FightingStyleScreen}
                        options={{
                            title: 'Fighting Style',
                            headerStyle: {
                                backgroundColor: '#0074C4',
                            },
                            headerTitleStyle: {
                                color: 'white',
                                fontSize: 24
                            },
                            headerLeft: null,
                            headerTitleAlign: 'center',
                        }}
                    />

                    <Stack.Screen
                        name="WeaponScreen"
                        component={WeaponScreen}
                        options={{
                            title: 'Weapons',
                            headerStyle: {
                                backgroundColor: '#0074C4',
                            },
                            headerTitleStyle: {
                                color: 'white',
                                fontSize: 24
                            },
                            headerLeft: null,
                            headerTitleAlign: 'center',
                        }}
                     />


            </Stack.Navigator>
        </NavigationContainer>
    )
};

我试图在Google上找到示例代码.但还是找不到这个例子:")

推荐答案

只需将screenOptionsprops 传递给Stack.Navigator组件.它为堆栈中的每个屏幕定义默认选项.像这样的事情会奏效的:

<Stack.Navigator 
    initialRouteName="MainScreen"
    screenOptions={{
       headerStyle: {
           backgroundColor: '#0074C4',
       },
       headerTitleStyle: {
           color: 'white',
           fontSize: 24
       },
       headerLeft: null,
       headerTitleAlign: 'center',
   }}
>

然后,您可以分别更改每个屏幕的标题.

Javascript相关问答推荐

Angular 拦截器错误处理删除方法问题

在JavaScript中,如何将请求的回调函数的结果合并到运行的代码中?

创建私有JS出口

在JS中获取名字和姓氏的首字母

是什么原因导致此Angular 16应用程序中类型错误时属性结果不存在?

Phaser 3 console. log()特定游戏角色的瓷砖属性

如何使用子字符串在数组中搜索重复项

优化Google Sheet脚本以将下拉菜单和公式添加到多行

可更改语言的搜索栏

如何发送从REST Api收到的PNG数据响应

为什么可选参数的顺序会导致问题?

如何防止ionic 输入中的特殊字符.?

如何在Press上重新启动EXPO-AV视频?

更新Redux存储中的对象数组

JS Animate()方法未按预期工作

在查看网页时,如何使HTML中的按钮工作方式类似于鼠标上的滚轮或箭头键?

ReferenceError:无法在初始化之前访问setData

Chart.js Hover线条在鼠标离开时不会消失

如何阻止外部脚本进入顶层导航

使用python,我如何判断一个html复选框是否被隐藏,以及它是否被S选中?