react-native - headerShown、headerTitle 和其他选项在屏幕上不起作用
问题描述
我是 React Native 的新手,我正在尝试创建一些仅用于学习和测试的东西......
现在,我正在尝试在“登录区域”中创建一个带有登录屏幕和其他一些屏幕的应用程序。所以,我想在“登录区域”屏幕上使用标题栏,而不是在登录屏幕上。
为此,我正在尝试使用带有选项的 React-Navigation Stack.Screen
。但是不工作...
这是我当前的代码:
[...]
const Stack = createStackNavigator();
[...]
<NavigationContainer>
<Stack.Navigator headerMode="screen">
<Stack.Screen headerTitle="Test" headerShown={false} screenOptions={{headerTitle: 'Test', headerShown: false}} name="Login" component={Login} />
</Stack.Navigator>
</NavigationContainer>
[...]
我正在测试是否headerTitle
和headerShown
作为财产或screenOptions
'选项工作......但没有任何工作。
现在,我的屏幕在标题中有一个“登录”标题(忽略headerTitle
属性和选项)并显示标题(忽略headerShown
属性和选项)。
有人可以告诉我我做错了什么吗?
解决方案
screenOptions是来自 Stack.Navigator 的道具,而不是来自 Stack.Screen。
headerTitle和headerShown都是选项而不是道具,因此它们必须在选项内部。
所以要么将'screenOptions'更改为'options':
<Stack.Screen options={{headerTitle: 'Test', headerShown: true}} name="Login" component={Login} />
或者将其移至 Stack.Navigator(请注意,它将应用于导航器内的所有屏幕):
<Stack.Navigator headerMode="screen" screenOptions={{headerTitle: 'Test', headerShown: true}}>
推荐阅读
- php - Codeigniter 从数据库记录中选择前一天
- alfresco - 如何通过传递 nodeRef 在 Activiti 表单上显示 Alfresco 文档
- r - Amazon-SageMaker - R 内核:用单引号替换字符串也在文本中插入反斜杠,如何避免这种情况
- laravel - 找不到类“App\Http\Controllers\DB”
- c# - 如何对函数的调用进行排队
- javascript - 如何定位 Angular UI 库元素?
- docker - 如何合并 Docker 的镜像层并瘦身镜像文件
- javascript - 未捕获的类型错误:无法将属性“innerText”设置为 null - 对于倒计时脚本
- unity3d - 作为开发人员,我如何才能为我的统一游戏进行更新而不是再次上传整个游戏?
- angular - 如何从 ngOnInit 方法中的 API 获取值以用作 Reactive Forms 的默认值?角