react-native - 如何使用 createBottomTabNavigator 中的导航按钮
问题描述
我正在使用 createBottomTabNavigator,因此我无法将导航功能添加到按钮。即我想使用 createBottomTabNavigator 和 createStackNavigator 来创建路线
App.js
import AppNavigator from './navigation/AppNavigator';
...
render() {
<AppNavigator />
}
AppNavigator.js
import React from 'react';
import { createAppContainer, createSwitchNavigator } from 'react-navigation';
import MainTabNavigator from './MainTabNavigator';
export default createAppContainer(createSwitchNavigator({
Main: MainTabNavigator,
}));
MainTabNavigator.js
import TabBarIcon from '../components/TabBarIcon';
import HomeScreen from '../screens/HomeScreen';
import LinksScreen from '../screens/LinksScreen';
import SettingsScreen from '../screens/SettingsScreen';
import ColaboradorScreen from '../screens/ColaboradorScreen';
const HomeStack = createStackNavigator({
Home: HomeScreen,
});
HomeStack.navigationOptions = {
tabBarLabel: 'Home',
tabBarIcon: ({ focused }) => (
<TabBarIcon
focused={focused}
name={
Platform.OS === 'ios'
? `ios-information-circle${focused ? '' : '-outline'}`
: 'md-information-circle'
}
/>
),
};
const LinksStack = createStackNavigator({
Links: LinksScreen,
});
LinksStack.navigationOptions = {
tabBarLabel: 'Links',
tabBarIcon: ({ focused }) => (
<TabBarIcon
focused={focused}
name={Platform.OS === 'ios' ? 'ios-link' : 'md-link'}
/>
),
};
const SettingsStack = createStackNavigator({
Settings: SettingsScreen,
});
SettingsStack.navigationOptions = {
tabBarLabel: 'Settings',
tabBarIcon: ({ focused }) => (
<TabBarIcon
focused={focused}
name={Platform.OS === 'ios' ? 'ios-options' : 'md-options'}
/>
),
};
导出默认 createBottomTabNavigator({ HomeStack, LinksStack, SettingsStack,
});
看到我有 createBottomTabNavigator 并且它工作得很好但是我有一个名为 ColaboradorScreen 的屏幕,我想通过单击按钮打开它。
在我的主屏幕上,我有如何渲染一个按钮
<Button
title="Open C"
onPress={() => navigate('Colaborador')}
/>
如何让我的按钮加载 ContributorScreen?
解决方案
推荐阅读
- javascript - Javascript:复制元素 html
- kotlin - 如何仅返回 Kotlin 中两个并发异步挂起函数中的第一个的结果?
- java - 如何使用 Spring Boot 调度程序获取价格差异
- laravel - 如何在 Spatie Laravel 包中制作多个角色?
- swift - URLSession:使用 http/1.1 而不是 http/2
- r - 具有多个条件和 NA 的 ifelse 语句
- java - Java + Postgresql:如何在 HashMap 中存储所有子项的父项和列表
> - css - 学习者问题:当窗口缩小时,如何使用 CSS 使按钮留在容器内。SPFX 网络部件
- pandas - Pandas:如何将“年-月”等格式更改为 datetime64 格式?
- php - 如何在php中使用for循环创建变量