我在单一架构中使用react-navigation-v5和react-native-web。我的堆栈层次结构如下
-- drawer
|-- splashScreen
|-- authStack
|-- appStack
|-- categoryListScreen
|-- searchScreen
|-- profileScreen
|-- aboutUsScreen我的第一个问题是在web中没有堆栈行为。我通过将一个linking对象传递给包含路由的NavigationContainer来修正它,其传家宝与上面完全相同。
const linking = {
prefixes: [urlPrefixWeb(), urlPrefixNativeDeepLink()],
config: {
splash: {
path: 'splash',
},
auth: {
path: 'auth',
screens: {
login: 'login',
register: 'register',
},
},
app: {
path: 'app',
screens: {
categoryList: 'categoryList',
search: 'search',
profile: 'profile',
aboutUs: 'aboutUs',
},
},
},
};现在,当我导航到appStack内的随机屏幕时,一切都正常工作。(示例:从categoryListScreen导航到searchScreen或profileScreen,然后按照预期逐步返回到categoryListScreen );但是当我尝试从drawerContent组件导航到appStack的屏幕,当返回原始屏幕 by browserBackPress时,也会弹出上一个屏幕e 218。
categoryScreen -> searchScreen -> profileScreen (从drawerContent组件单击)。然后backPress 预期bahaviour会去searchScreen,但是searchScreen也会弹出,然后去categoryScreen。
在breaf中,来自drawerContent组件的drawerContent函数不能正常工作,并且总是进行某种替换。
那么,有谁知道一个解决办法或相关的问题吗?
发布于 2021-01-03 07:58:14
我不认为你的堆叠顺序是正确的。你应该把路线直接插入抽屉里。
例如:
|-- splashScreen
|-- authStack
|-- appStack
|-- drawer
|-- categoryListScreen
|-- searchScreen
|-- profileScreen
|-- aboutUsScreenhttps://stackoverflow.com/questions/65542213
复制相似问题