react-native - 是否可以使用 React Navigation 在一个屏幕上呈现两个标题?
问题描述
我正在使用 React Native 编写一个 iPad / Android 平板电脑应用程序,并且我正在使用 React Navigation 进行导航。
我收到的模型有一个屏幕,它分成两半(在横向模式下),有两个不同的标题。是否可以通过反应导航来实现这一点?
我尝试的是header: null
在屏幕的导航选项中进行设置,然后在该分屏上渲染两个组件,每个组件都将 React Navigation 的Header
组件作为第一个子组件。这在某种程度上不起作用(标题没有被渲染)。
解决方案
就像您在源代码中Header
看到的那样,如果 header 选项为空,则不会呈现:
_renderHeader(props) {
const { options } = props.scene.descriptor;
if (options.header === null) {
return null;
}
...
}
所以Header
手动使用组件是行不通的。
您可以创建自己的带有标题和“后退”可触摸的 Header 组件。如果设计师给了你一个模型,我认为 Header 的样式必须与原始 Header 组件的样式非常不同:)
您的组件可能如下所示:
export default class MyCustomHeader extends Component {
handlePress = () => {
const { navigation } = this.props;
navigation.goBack(); // or .navigate() to whatever you want
};
render() {
return (
<View>
<TouchableHighlight onPress={this.handlePress}>
<some-icon>
</TouchableHighlight>
<Text>My title</Text>
</View>
);
}
}
当然有适当的造型:)
推荐阅读
- macos - 工作表中带有 NSPredicateEditor 的 macOS 暗模式 UI 错误
- html - 从 Xcode 上的 html 获取数据
- android - How can I make a Drawable array of ONE image?
- ios - 在openstreetmap多边形中间显示标记(iOS)
- babeljs - Babel 扩展
- elixir - 长生不老药中的退格转义 \b 不起作用
- node.js - JSON stringify 不适用于 json 对象数组
- sql - 在同一行中添加列字段值?
- java - JBehave空上下文
- xcode10 - 使用 Xcode10.1 归档应用程序自动自动签名无法解决“”目标的权利问题