react-native - 反应导航 headerTitle 选项无法呈现视图
问题描述
我正在尝试使用反应导航 v5 将视图呈现为自定义标题
我的代码:
<Stack.Navigator
screenOptions={{
headerTitle: <View> <Text> a </Text><Text> b </Text> </View>
}}>
<Stack.Screen name="Tab" component={tabNavigator}/>
</Stack.Navigator>
我也试过
const Header = () => <View> <Text> a </Text> <Text> b </Text> </View>
<Stack.Navigator
screenOptions={{
headerTitle: <Header />
}}
>
<Stack.Screen name="Tab" component={tabNavigator}/>
</Stack.Navigator>
我收到以下错误:必须在组件内呈现文本字符串
反应导航文档显示了一个带有图像而不是文档的自定义标题的示例
我认为我正在尝试做的事情是可能的
解决方案
您需要为标题标题声明新组件。
class HeaderTitle extends React.Component {
render() {
return {
<View> <Text> a </Text><Text> b </Text> </View>
}
}
}
并且您需要使用 header 而不是 headerTitle 才能使用 View。
<Stack.Navigator
screenOptions={{
headerTitle: <HeaderTitle />
}}>
<Stack.Screen name="Tab" component={tabNavigator}/>
</Stack.Navigator>
或者您可以使用此代码。
static navigationOptions = {
// headerTitle instead of title
headerTitle: <HeaderTitle />,
};
/* render function, etc */
推荐阅读
- android - Android Studio:模式中的 TableRow 不起作用
- java - 无法在 .Net c# 上匹配来自 Java 的 SHA256withRSA 签名
- vee-validate - VeeValidate v3 扩展了对 Vue 数据的访问
- python - 使用远程服务器上的 Python 代码通过 SFTP 传输文件?
- javascript - 检查包含保存在 chrome.storage.local 中的对象数组的对象中的键
- ios - 需要在崩溃时修复错误:thunk for @escaping @callee_guaranteed () -> () + 28 (
:0) - java - Spring Boot 2:{“error”:“unauthorized”,“error_description”:“访问此资源需要完全身份验证”}
- javascript - 有没有办法获得firestore Collection的名称?
- python-3.x - 如何为 TKINTER 中的条目总和定位 def
- javascript - 如何在 ReactJS 中扩展 chartjs 折线图以同时显示实线和虚线?