javascript - 如何在 React Native 中创建子 Tab.Screen?
问题描述
我有四个标签屏幕: 主页 图库 新转我的帐户
主页.js
return (
<Tab.Navigator
screenOptions={({ route }) => ({
tabBarIcon: ({ focused, color, size }) => {
let iconName;
if (route.name === HomePageTitle) {
iconName = focused ? "md-home" : "ios-home";
} else if (route.name === TurnsPageTitle) {
iconName = focused ? "md-calendar" : "ios-calendar";
} else if (route.name === GalleryPageTitle) {
iconName = focused ? "ios-images" : "ios-images";
} else if (route.name === MyAccountTitle) {
iconName = focused ? "md-contact" : "ios-contact";
}
// You can return any component that you like here!
return <Ionicons name={iconName} size={size} color={color} />;
},
})}
tabBarOptions={{
activeTintColor: "#ff8da1",
inactiveTintColor: "gray",
style: {
backgroundColor: "white",
},
}}>
<Tab.Screen
name={HomePageTitle}
component={Home}
options={{ title: "Home" }}
/>
<Tab.Screen
name={GalleryPageTitle}
component={Images}
options={{ title: "Gallery" }}
/>
<Tab.Screen name={TurnsPageTitle} options={{ title: "New-turn" }}>
{(props) => (
<TurnType
{...props}
component={TurnType}
serverDate={currentDate}
plusMonth={plusMonth}
phone={phone}
name={name}
/>
)}
</Tab.Screen>
<Tab.Screen name={MyAccountTitle} options={{ title: "MyAccount" }}>
{(props) => (
<MyAccount
{...props}
component={MyAccount}
name={name}
phone={phone}
/>
)}
</Tab.Screen>
</Tab.Navigator>
);
在我按下 New-turn 后,有一个按钮可以让您导航到另一个堆栈屏幕(在 app.js 中)
<Stack.Screen name='Calendars' component={Calendars} />
我使用以下代码导航它:
navigation.replace("Calendars", {
serverDate: global.serverDate,
plusMonth: global.plusMonth,
phone: global.phone,
turnUnits: item.type_units,
turnTypeName: item.type_name,
navigation: navigation,
});
当我这样做时,当我导航到日历时,我的底部选项卡就会消失。我需要一种方法来导航到日历,而该选项卡在底部选项卡中不可见,然后当我按下按钮时导航回新转屏幕。这个怎么做?
谢谢!
解决方案
如果您使用 react-navigation v5+ 并且日历屏幕位于 New-turn 选项卡的堆栈导航器下,则以下内容应该会有所帮助
navigation.navigate('New-turn', { screen: 'Calendars' });
推荐阅读
- android - 谷歌应用架构指南暂停功能错误
- asp.net-core - SignalR 在离子应用程序中 5 分钟后断开连接
- python - 检查数据帧中的所有值是否都在一定范围内,数据帧是否有像`between`这样的属性
- python - Python中数据框的Json值数组
- python - 跨存储库重构导入语句
- amazon-web-services - Cloudfront 为备用域名返回 502
- docker - 无需执行 docker push 即可将文件复制到 docker 容器/映像
- c# - 未在可观察集合中正确添加元素,来自过去活动的 id 未正确传递
- isabelle - 伊莎贝尔组合证明凯莱公式
- python - fbProphet 的表现比平均水平差