问题标签 [react-native-router-flux]

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 投票
3 回答
2710 浏览

react-native - 如何在 react-native-router-flux 导航栏中实现徽标?

目前我正在尝试在 react-native-router-flux 导航栏中实现一个标志,它是一个 png 文件。我不确定这是否可能,因为我没有在网上找到任何示例。我尝试使用 react-native-router-flux 中的 'navigationBarBackgroundImage' 属性。在下面的代码中,sceneStyle 和 navigationBarStyle 属性有效,但背景图像无效。有什么建议吗?

0 投票
1 回答
2842 浏览

javascript - 为什么我们在反应原生路由器通量中需要一个“根”场景

我正在为我的应用程序实现一个路由库,一个看起来非常好的是react-native-router-flux他们有很好的文档和实现,我只有一个问题。

在他们的所有示例中,场景都包含在根场景中,因此:

我试过在没有根场景的情况下使用它,它仍然可以按预期工作:

因此我的问题是,因为我目前不了解根的目的。

0 投票
1 回答
2115 浏览

javascript - 在 react-native-router-flux 中重置场景导航

我在使用 react-native-router-flux 时遇到了一些问题。我的路由器是这样的:

当我单击选项卡中的 createPost 图标并按照以下过程进行操作时,问题就出现了:相机-> 撰写-> 完成。完成该过程后,我应该上传数据并进行探索,一切正常,但是如果我尝试创建新帖子,则会将我直接重定向到“完成”场景。

所以直到现在,当我完成这个过程时,我已经尝试过:

Actions.explore({type: 'reset'})

//

Actions.callback({ key: 'tabs', type: 'reset'}); Actions.explore()

//

Actions.callback({ key: 'createStory', type: 'reset'}); Actions.explore()

但任何事情都按预期工作。有人可以帮我弄这个吗?

谢谢!

更新

好吧,我找到了一个“可能的”解决方案:

Actions.popTo('capture'); -> 这将回到 createPost 中的第一个场景

Actions.explore(); -> 退出 createPost。

我想还有另一种方法可以做到...

0 投票
3 回答
3256 浏览

react-native - 使用 react-native-router-flux 删除抽屉页面的后退按钮

我一直在尝试创建一个应用程序来学习本机反应,它有一个登录界面,在成功验证后,用户会被重定向到带有导航抽屉的主页——这是当今大多数移动应用程序的标准。

我使用react-native-router-fluxreact-native-drawer-layout来实现这个。

我让抽屉工作了,但是一旦我从登录页面进入主页(食谱),我可以看到一个后退按钮正在显示,我似乎无法按照 react-native-drawer-layout API no 中的说明设置抽屉图标不管我怎么尝试。

抽屉打开但显示返回按钮的主页

我认为问题出在我的路由器上,为这个特定场景定义的场景如下。

有人可以帮我弄清楚我在这里缺少什么吗?非常欣赏它。

0 投票
1 回答
1064 浏览

firebase - 使用 react-native-router-flux 将登录的 Firebase 用户重定向到主组件

每次应用程序启动时,我都会尝试将用户引导至主组件。

我使用 react-native-router-flux 作为导航包装器,使用 Firebase 作为后端,使用 Redux 作为状态管理库。

这就是问题所在。我firebase.auth().onAuthStateChanged()在我的路由器组件中确定用户是否已登录。

如果没有用户,则返回 Login 组件。

如果有用户登录,则返回主组件,作为堆栈中的基础组件。

这个SO POST有确切的问题,提出的答案建议使用react-native-router-flux 中的Switch Feature。我试了一下,没用。

这是我的代码。

应用程序.js

路由器.js

我的一些 redux 动作创建者

我知道可以使用下面的异步代码段来实现确切的动机:

但我正在尝试使用 react-native-router-flux 重新创建它。

这是我的应用程序的 gif 截图,以帮助你们了解更多。用户已经登录。一段时间后将发送主屏幕。任何想法? 动图

0 投票
0 回答
252 浏览

react-native - 在组件 React 本机路由器通量中调用 onLeft

我在我的项目中使用了 React Native Router Flux。如何在 Welcome 组件上触发 onRight 功能?我只能在 NavigationController 类上调用函数。

0 投票
2 回答
31508 浏览

javascript - 反应原生- 为什么执行这个函数?

我刚刚开始围绕 React Native 进行思考,并且正在使用 Redux 来管理我的 UI 组件stateNativeBase 库, react-native-router-flux正在处理视图之间的导航。

目前我正在构建一个从对象数组创建的基本列表guest。该列表存储在 Redux 存储中,我可以访问它并相应地显示。列表中的每个项目都与数组guest中的 a相关联guests。我想让列表中的每个项目都可以触摸,然后将相关guest对象作为属性传递给下一个视图以显示详细信息。

为此,我使用的onPress是与组件关联的标准函数的函数(请参阅此处ListItem的NativeBase 文档)。我还遵循了文档并在组件本身之外定义了导航操作,以便在按下时调用它而不是每次呈现时调用。react-native-router-fluxListItem

我的问题是我发现onPress={goToView2(guest)}每次ListItem渲染时都会调用该函数,而不是在ListItem按下时特别调用。

我确信它一定是我省略的一些简单的东西。有什么建议么?

View1.js - 显示初始列表的视图guests

View2.js - 显示所选内容详细信息的guest视图View1.js

0 投票
1 回答
1379 浏览

react-native - react-native-router-flux:如何防止选项卡场景历史堆栈在选项卡之间切换时被重置?

我有一个Router带有 2 个选项卡场景的设置:

  • 选项卡 1:有 2 个可导航场景(静态屏幕);
    • 屏幕 A:有一个按钮可以导航到屏幕 B
    • 屏幕B:只有一个文本;
  • 选项卡 2:只有 1 个静态屏幕。
    • 屏幕C:只有一个文本;

代码如下。

应用程序.js:

画面也很简单。

一个.js:

b.js:

c.js:

用例:

  • 应用程序呈现屏幕 A(在选项卡 1 中);
  • 单击屏幕 A 中的按钮:应用程序导航到屏幕 B(仍在选项卡 1 中);
  • 单击选项卡 2:应用程序导航到屏幕 C(在选项卡 2 中)。
  • 单击选项卡 1:应用程序导航到屏幕 A(在选项卡 1 中)而不是屏幕 B,如预期的那样。

react-native-router-flux当我们回到它们时,不会保留选项卡的历史堆栈。还是我在这里做错了什么?

软件包版本:

  • 反应 v15.3.2
  • 反应原生 v0.34.1
  • react-native-router-flux v3.36.0
0 投票
1 回答
103 浏览

react-native - 如何更换/重置 RNRF 路由器的 Relay.Environment

当用户退出应用程序时,我想重置Relay.Environment(用新的替换现有的)。我尝试将 new 传递Relay.EnvironmentRouter,在重新渲染组件时, <Router wrapBy={createRenderer()} sceneStyle={styles.scene}> <Scene key="root" tabs tabBarStyle={{ backgroundColor: '#333333' }}> createRenderer()返回当前的 `Relay.Environment

但我仍然看到用 old 创建的场景Relay.Environment。有没有正确的方法来做到这一点?我是不是错过了什么。

亚历克斯

0 投票
1 回答
1634 浏览

react-native - 在 react-native-router-flux 标签栏中隐藏导航栏

native-router-flux 的标签栏”。当我使用标签栏时,会显示屏幕顶部的导航栏。所以我想删除那个导航栏。但我做不到。请帮帮我!!!