javascript - React Native Web 导航路线问题
问题描述
我正在构建一个 RN 应用程序并使用 RNWeb 为 Web 构建它,但我遇到了两个问题。
首先,我需要去掉url路由中的一些名字,例如:
在我的App.js
我有一个<NavigationContainer>
在其中我有一个StackNavigator
转到一个名为Main
. 在Main
屏幕中,我有一个带有 5 个不同选项卡屏幕的选项卡导航器。每个屏幕都是不同的,根据 TabNavigator 屏幕的上下文StackNavigator
保存多个(例如:选项卡导航器上的设置将保存和内部将驻留屏幕组件。但问题是,它们显示在 url 中,例如例如:代替或代替StackScreens
StackSettings.Navigator
AppSettings
http://app.com/StackSettings/AppSettings
http://app.com/AppSettings
http://app.com/StackHome/Home
http://app.com/Home
TLDR:我在每个选项卡导航中都有堆叠导航,并且 url 显示如下:http://app.com/StackNavigatorName/StackScreenName
而不是http://app.com/StackScreenName
我遇到的第二个问题是,如果我转到另一个选项卡导航器(因此是另一个 StackNavigator)并返回到旧的(使用返回或从选项卡导航中选择它),我无法单击它上面的任何内容。
代码:
应用程序.js
<NavigationContainer linking={{
prefixes: ["localhost"],
config:{
screens:{
Main: {
path: '/',
},
},
},
}}
>
<Stack.Navigator initialRouteName="Main" >
<Stack.Screen name="Main" component"Main">
</Stack.Navigator>
</NavigationContainer>
主.js
const StackNavigatorHome = () => (
<StackHome.Navigator initialRoute="Home">
<StackHome.Screen name="Home" component={Home}/>
<StackHome.Screen name="Create" component={Create}/>
</StackHome.Navigator>
)
const StackNavigatorSettings = () => (
<StackSettings.Navigator initialRoute="Settings">
<StackSettings.Screen name="Settings" component={Settings}/>
<StackSettings.Screen name="AppSettings" component={AppSettings}/>
</StackSettings.Navigator>
)
return(
<Tab.Navigator >
<Tab.Screen name="StackHome" component={StackNavigatorHome} />
<Tab.Screen name="StackSettings" component={StackNavigatorSettings} />
</Tab.Navigator>
)
解决方案
推荐阅读
- excel - 验证文本框条目中的日期格式
- python - 通过 Python 代码登录 SAP GUI 时如何检查错误
- selenium-webdriver - selenium webdriver 在抛出 NoSuchElementException 之前的默认等待时间是多少
- java - OpenJdk 初始启动时间很慢
- java - 如何使用@Path 设置休息网址(获取查看文件的链接)
- javascript - 在 setState() 之后,更新的状态不会作为道具传递给组件
- python - python中的循环没有正确递增
- python - 如何在 TensorFlow 1.13 中检查 TFRecord 文件的结构?
- react-native - 将多个选中的复选框值传递给 React Native 中的 TextInput
- vue.js - 我无法在 vuejs 中使用 v-for 显示来自 API 的数据