react-navigation-v6 - React Navigation 6 (RN6) - 模态中的卡片堆栈
问题描述
我有一个关于模态堆栈内的卡片堆栈的问题,如附图所示。
所以,只是重复我想做的事情。我有一个打开绿色模式screen
的选项。presentation: 'modal'
在那个绿色模式中,我有一个按钮应该调用一个导航调用,该调用应该显示蓝色screen
选项presentation: 'card'
和返回绿屏的能力。
我用WIX的 react-native-navigation 库做了类似的事情,但我不知道是否可以用 react-navigation 来完成。
任何帮助深表感谢。
干杯
解决方案
我找到了这里Nesting navigators
描述的解决方案
基本上,我创建了一个ModalStack
并在组件中使用了这个堆栈,Screen
如下所示。
import React from 'react'
import { createNativeStackNavigator } from '@react-navigation/native-stack'
import { TransitionPresets } from '@react-navigation/stack'
import HomeView from '../screens/HomeView'
import ModalView from '../screens/ModalView'
import CardView from '../screens/CardView'
const RootStack = createNativeStackNavigator()
const ModalStack = createNativeStackNavigator()
const ModalStackView = () => (
<ModalStack.Navigator
screenOptions={{
headerShown: true,
}}>
<ModalStack.Screen
name="modalCard1"
component={ModalView}
options={{
presentation: 'modal'
}}
/>
<ModalStack.Screen
name="modalCard2"
component={CardView}
options={{
presentation: 'card'
}}
/>
</ModalStack.Navigator>
)
const Stacks = () => (
<RootStack.Navigator
screenOptions={{
headerShown: false,
}}>
<RootStack.Screen name="home" component={HomeView} />
<RootStack.Screen
name="modal"
component={ModalStackView}
options={{
presentation: 'modal'
}}
/>
</RootStack.Navigator>
)
export default Stacks
推荐阅读
- java - 如何加速非常大的集合的延迟加载
- visual-studio - Visual Studio VTR8.0 中的 CMake 构建错误
- acumatica - 如何修改流程准备发票
- ios - Swift 将无效 URL 格式化为有效 URL
- mysql - 发生数据库错误 错误号 1064
- python-3.x - SymPy 限制符号
- html - 我在子域中的 URL 不会指向主域
- python - 有没有办法通过脚本操作 tkinter GUI?
- haskell - 程序 'llvm-config' 版本 ==9.0.* 是必需的,但找不到
- rust - 一旦 tokio::process::Child 退出而不关闭 stdin,如何创建完成的未来