问题标签 [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.
javascript - 使用 React Navigation 多次堆叠同一屏幕
我在StackNavigator上有 3 个屏幕:MainSearch
、、、MonsterPage
。ItemPage
而且我想堆叠MonsterPage
和ItemPage
多次(从MonsterPage
你可以去,ItemPage
反之亦然)
可以实例化屏幕吗?
我想要的是:
MainSearch -> ItemPage(1) -> MonsterPage(1) -> ItemPage(2) -> 等等...
或者
MainSearch -> MonsterPage(1) -> ItemPage(1) -> MonsterPage(2) -> 等等...
我得到什么:
MainSearch -> MonsterPage(1) -> ItemPage(1) ->(回到) MonsterPage(1)
主搜索
怪物页面
项目页面
javascript - 如何在 React Native 上使用 StackNavigator 与 DrawerNavigator 和 SwitchNavigator?
TL;DR:我需要这个结果(下面列出了 DrawerNavigator 和 StackNavigator 导航):
结构:
我有这样的屏幕结构:
在根页面(由“•”表示)中,我需要使用DrawerNavigator进行导航,而子页面(由“|_”表示)需要使用StackNavigator进行导航。
这是我想要得到的行为:
抽屉:带 => createDrawerNavigator() 的MainDrawer
切换导航器:
组件:StartCheck和WelcomeScreen是一个<Component />
StartCheck:这只是检查 AsyncStorage 上是否有数据,例如“isFirstRun”,并根据结果打开WelcomeScreen或MainDrawer [like this documentation]。
我的代码:
屏幕:
主抽屉:
带有 SwitchNavigator 的应用容器:
有了这段代码,Header就不会出现了,所以我把 DrawerNavigator 放到 StackNavigator 里面:
主栈:
我用 SwitchNavigator 修改了 App Container:
但是通过这种方式,标题与侧边栏重叠,如果我使用headerMode: 'none'
,我的标题也会从其他屏幕上消失(不仅仅是容器)。
我需要这个结果(上面有 DrawerNavigator 和 StackNavigator 导航列表):
而且我也不知道在哪里可以放置辅助屏幕(使用 StackNavigator 的导航方法打开)。
很抱歉这个大帖子,是我试图尽可能详细,因为我一直在寻找解决方案,但我没有找到......
react-native - 如何在本机反应中在弹出堆栈上插入新场景?
我正在研究现有的 react native 项目,我想在导航堆栈上找到弹出操作的解决方案,我想在其中引入实际上不在堆栈上的新场景。
根据用户登录、注销或锁定状态的状态,我有三种不同类型的路由。因此,虽然用户的应用程序状态在启动时被锁定,但我正在指导用户从启动场景重置帐户页面。
启动场景 -> 重置帐户
但是在重置帐户的返回事件中,我想显示登录页面而不是启动场景,但登录场景目前不在堆栈中。
那么当用户执行弹出动作时如何插入新场景呢?
我是本机反应的新手,我不知道如何在不执行任何动画的情况下以编程方式修改导航堆栈?
在我的项目中,有一个包react-native-router-flux
用于处理反应导航。
任何见解都会有所帮助。
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)
react-native - 在反应本机导航中动态更改标题标题
对于学校作业,我们正在使用 React Navigation 和 Redux 创建一个 React Native 应用程序。因为我们所有人都是新手,所以我们有一个无法解决的问题。
我们希望在单击某个按钮时更改标题的标题。我们第一次单击按钮时,它会很好地更改标题标题。当我们按下不同的按钮时,问题就出现了,标题不会改变。请注意,无论我们选择什么选项,我们总是会转到同一个屏幕。
当我们将标题栏放在 DrawerNavigator 中时,我们确实让它工作了,但是因为我们希望 Drawer 来自标题,所以这不是一个选项。我的猜测是,堆栈是用某个标题创建的,并且在使用 DrawerNavigator 切换屏幕时永远不会更新,但我们不知道如何解决这个问题。
提前致谢!
react-native - 无法从自定义导航器导航
所以我有一个自定义导航器,用于向后滑动导航。另外,对于出于某些真正原因发布图像而不粘贴代码,我深表歉意。我希望你检查图像。
下面是自定义导航器的代码。 https://gist.github.com/shubham6996/985568f49b2511dec2438c624fe259d0
所以我的导航是如何工作的,当我导航到SignUp
屏幕时,它会EmailSignUp
带我到EmailAuth
.
我可以从使用导航LoggedOutHome
到EmailAuth
屏幕,this.props.navigator.push('SignUp')
但我无法从到EmailAuth
导航SignUp
react-native - 如何将导航道具传递给“createStackNavigator”以使用带有动画的默认标题
在过去的几天里,我一直在努力为我的屏幕添加一个动画标题。我已经成功了,但是我现在想默认将此作为我的标题应用,而不是将代码复制并粘贴到我希望使用它的所有屏幕中。目前动画标题在屏幕中实现如下:
渲染标题:
要设置状态:
设置动画插值并将值传递给导航道具(这是我稍后在渲染标题时必须访问的内容)
带有“scrollView”的主渲染方法调用“onScroll”事件来获取滚动动作
要设置默认标题,我必须在使用“createStackNavigator”时设置“defaultNavigationOptions”的“标题”值。我可以使用它来创建一个简单的红色默认标题,高度为 100(代码和图片如下):
不幸的是,对于我的动画标题,我需要“导航”道具,因为它用于存储动画值。我已经尝试了很多方法来将它传递到我需要这些值的地方,并且想知道是否有人知道如何做到这一点,或者是否有可能,或者是否有人有任何建议。
react-native - 提供图标以响应堆栈导航
我正在尝试将图标分配给底部导航,但我已经创建了堆栈导航并将它们呈现给底部导航。请帮助我,因为我是 React Native 的新手。而且我不想使用createMaterialBottomNavigator
react-native - 类似 Snapchat 的 Horizontal ScrollView 结合 React Navigation
我正在尝试创建一个ScrollView
类似于 Snapchat 的前端,带有 3 个屏幕。但是,我希望能够使用react-navigation
' 设置初始路线的能力,以便每次加载主屏幕时,它都会从中间屏幕而不是最左侧的屏幕开始。
这是针对react-native
version:0.57.1
和react-navigation
version:3.0.9
的。当我将所有 3 个屏幕直接放在组件中时,这很好用ScrollView
,但是我找不到选择最初显示哪个屏幕的方法。
这与我的目标相似:
我希望HomeScreenStack
在 a 中显示所有 3 条路线ScrollView
,但我收到一条错误消息:
react-native - 用户通过身份验证后,如何将用户导航到登录屏幕?
我有一个根 StackNavigator,它还有其他两个导航器 1 堆栈导航器(登录、注册) 2 选项卡导航器(主页、配置文件、设置)
那么当用户登录成功时,如何从 rootNavigator 导航到 tabNavigator?