问题标签 [react-navigation-stack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2208 浏览

javascript - 使用 React Navigation 多次堆叠同一屏幕

我在StackNavigator上有 3 个屏幕:MainSearch、、、MonsterPageItemPage而且我想堆叠MonsterPageItemPage多次(从MonsterPage你可以去,ItemPage反之亦然)

可以实例化屏幕吗?

我想要的是:

MainSearch -> ItemPage(1) -> MonsterPage(1) -> ItemPage(2) -> 等等...

或者

MainSearch -> MonsterPage(1) -> ItemPage(1) -> MonsterPage(2) -> 等等...

我得到什么:

MainSearch -> MonsterPage(1) -> ItemPage(1) ->(回到) MonsterPage(1)

显示发生了什么的 Gif

主搜索

怪物页面

项目页面

0 投票
2 回答
2043 浏览

javascript - 如何在 React Native 上使用 StackNavigator 与 DrawerNavigator 和 SwitchNavigator?

TL;DR:我需要这个结果(下面列出了 DrawerNavigator 和 StackNavigator 导航):

在此处输入图像描述

结构:


我有这样的屏幕结构:

在根页面(由“•”表示)中,我需要使用DrawerNavigator进行导航,而子页面(由“|_”表示)需要使用StackNavigator进行导航。

这是我想要得到的行为:

抽屉:带 => createDrawerNavigator() 的MainDrawer

切换导航器

组件:StartCheckWelcomeScreen是一个<Component />

StartCheck:这只是检查 AsyncStorage 上是否有数据,例如“isFirstRun”,并根据结果打开WelcomeScreenMainDrawer [like this documentation]

我的代码:


屏幕:

主抽屉:

带有 SwitchNavigator 的应用容器:

有了这段代码,Header就不会出现了,所以我把 DrawerNavigator 放到 StackNavigator 里面:

主栈:

我用 SwitchNavigator 修改了 App Container:

但是通过这种方式,标题与侧边栏重叠,如果我使用headerMode: 'none',我的标题也会从其他屏幕上消失(不仅仅是容器)。

在此处输入图像描述

我需要这个结果(上面有 DrawerNavigator 和 StackNavigator 导航列表):

在此处输入图像描述

而且我也不知道在哪里可以放置辅助屏幕(使用 StackNavigator 的导航方法打开)。

很抱歉这个大帖子,是我试图尽可能详细,因为我一直在寻找解决方案,但我没有找到......

0 投票
1 回答
95 浏览

react-native - 如何在本机反应中在弹出堆栈上插入新场景?

我正在研究现有的 react native 项目,我想在导航堆栈上找到弹出操作的解决方案,我想在其中引入实际上不在堆栈上的新场景。

根据用户登录、注销或锁定状态的状态,我有三种不同类型的路由。因此,虽然用户的应用程序状态在启动时被锁定,但我正在指导用户从启动场景重置帐户页面。

启动场景 -> 重置帐户

但是在重置帐户的返回事件中,我想显示登录页面而不是启动场景,但登录场景目前不在堆栈中。

那么当用户执行弹出动作时如何插入新场景呢?

我是本机反应的新手,我不知道如何在不执行任何动画的情况下以编程方式修改导航堆栈?

在我的项目中,有一个包react-native-router-flux用于处理反应导航。

任何见解都会有所帮助。

0 投票
1 回答
1111 浏览

ros - 如何发布镜像 tf?

我尝试将rf2o laser_to_odometry用于导航堆栈。但是,当我移动机器人时,tf 的方向错误。即当我将机器人向右移动时,tf 向左移动。

对于激光雷达的配置:我将激光雷达绕 z 方向旋转 90 度并倒置,它只扫描一半范围,从 -180 到 0 度。

tf 设置是正确的,我在创建地图时再次检查了 hector slam,args="0.2 0 0 1.57 3.14 0 /base_link /laser_frame 40当我没有将激光雷达倒置时,也不会发生此问题(并且还将 tf 静态发布者更改为后面args="0.2 0 0 0 0 0 /base_link /laser_frame 40

以下是我在 rf2o 包的 CLaserOdometry2DNode.cpp 中找到的代码(也可以在此处找到) 。这里是否有问题导致包中的 tf 未正确读取,或者是任何方式来编辑它,镜像 tf(左右,即沿 y 轴镜像)?

如果有人可以提供帮助,将不胜感激!

编辑: 这是 tf 树 tf 树

我试图理解这个包,知道在它监听 tf 之后,它是附加在那里的代码,它将值传递给 setLaserPose:

并转换最终结果,即相对于 tf 的 robot_pose_,见下文: 但是,我发现两个 ROS_INFO_COND 消息是相同的,显示没有区别.. 似乎laser_pose_on_robot_inv_没有转换结果......我可以给一些建议如何处理?

rviz 中的 tf 在此处 输入图像描述

rf2o 的启动文件(导航堆栈中的 robots_configuration)

0 投票
2 回答
3130 浏览

react-native - 在反应本机导航中动态更改标题标题

对于学校作业,我们正在使用 React Navigation 和 Redux 创建一个 React Native 应用程序。因为我们所有人都是新手,所以我们有一个无法解决的问题。

我们希望在单击某个按钮时更改标题的标题。我们第一次单击按钮时,它会很好地更改标题标题。当我们按下不同的按钮时,问题就出现了,标题不会改变。请注意,无论我们选择什么选项,我们总是会转到同一个屏幕。

当我们将标题栏放在 DrawerNavigator 中时,我们确实让它工作了,但是因为我们希望 Drawer 来自标题,所以这不是一个选项。我的猜测是,堆栈是用某个标题创建的,并且在使用 DrawerNavigator 切换屏幕时永远不会更新,但我们不知道如何解决这个问题。

提前致谢!

0 投票
1 回答
60 浏览

react-native - 无法从自定义导航器导航

所以我有一个自定义导航器,用于向后滑动导航。另外,对于出于某些真正原因发布图像而不粘贴代码,我深表歉意。我希望你检查图像。

下面是自定义导航器的代码。 https://gist.github.com/shubham6996/985568f49b2511dec2438c624fe259d0

下面是 LoggedOutHome 屏幕 在此处输入图像描述

下面是注册屏幕 在此处输入图像描述

下面是 EmailSignUp 屏幕 在此处输入图像描述

下面是电子邮件登录屏幕 在此处输入图像描述

所以我的导航是如何工作的,当我导航到SignUp屏幕时,它会EmailSignUp带我到EmailAuth.

我可以从使用导航LoggedOutHomeEmailAuth屏幕,this.props.navigator.push('SignUp')但我无法从到EmailAuth导航SignUp

0 投票
1 回答
2059 浏览

react-native - 如何将导航道具传递给“createStackNavigator”以使用带有动画的默认标题

在过去的几天里,我一直在努力为我的屏幕添加一个动画标题。我已经成功了,但是我现在想默认将此作为我的标题应用,而不是将代码复制并粘贴到我希望使用它的所有屏幕中。目前动画标题在屏幕中实现如下:

渲染标题:

要设置状态:

设置动画插值并将值传递给导航道具(这是我稍后在渲染标题时必须访问的内容)

带有“scrollView”的主渲染方法调用“onScroll”事件来获取滚动动作


要设置默认标题,我必须在使用“createStackNavigator”时设置“defaultNavigationOptions”的“标题”值。我可以使用它来创建一个简单的红色默认标题,高度为 100(代码和图片如下):

演示简单默认标头应用的模拟器

不幸的是,对于我的动画标题,我需要“导航”道具,因为它用于存储动画值。我已经尝试了很多方法来将它传递到我需要这些值的地方,并且想知道是否有人知道如何做到这一点,或者是否有可能,或者是否有人有任何建议。

0 投票
1 回答
320 浏览

react-native - 提供图标以响应堆栈导航

我正在尝试将图标分配给底部导航,但我已经创建了堆栈导航并将它们呈现给底部导航。请帮助我,因为我是 React Native 的新手。而且我不想使用createMaterialBottomNavigator

0 投票
1 回答
542 浏览

react-native - 类似 Snapchat 的 Horizo​​ntal ScrollView 结合 React Navigation

我正在尝试创建一个ScrollView类似于 Snapchat 的前端,带有 3 个屏幕。但是,我希望能够使用react-navigation' 设置初始路线的能力,以便每次加载主屏幕时,它都会从中间屏幕而不是最左侧的屏幕开始。

这是针对react-nativeversion:0.57.1react-navigationversion:3.0.9的。当我将所有 3 个屏幕直接放在组件中时,这很好用ScrollView,但是我找不到选择最初显示哪个屏幕的方法。

这与我的目标相似:

我希望HomeScreenStack在 a 中显示所有 3 条路线ScrollView,但我收到一条错误消息:

0 投票
2 回答
382 浏览

react-native - 用户通过身份验证后,如何将用户导航到登录屏幕?

我有一个根 StackNavigator,它还有其他两个导航器 1 堆栈导航器(登录、注册) 2 选项卡导航器(主页、配置文件、设置)

那么当用户登录成功时,如何从 rootNavigator 导航到 tabNavigator?

这是 App.js 和 RootRouter 的图像