问题标签 [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.
javascript - React Native Router Flux:从主场景导航到子场景
版本
- react-native-router-flux v3.35.0
- 反应原生 v0.31
我的场景很少。其中一个场景有几个子场景。如何从主要场景之一导航到子场景之一?
例子 :
我想从详细信息导航到课程。但是课程是另一个标签下的标签。我怎样才能做到这一点?
我只能导航到标签栏场景,不能导航到课程或注册。
react-native - react-native-router-flux 抛出 Actions.callback 未定义
运行以下代码段会导致路由器抛出
路由器应该已经被 App.componentDidMount 挂载了,所以所有的动作都应该工作。
如果我将超时设置为 2 秒,那么它确实有效。有人遇到过吗?我在这里做错了吗?
react-native - 登录示例上的 React Native Router Flux 重定向场景
我正在寻找一个使用 React Native Router Flux 在验证通过后将用户重定向到新场景的示例。假设我已经像这样定义了我的路由器组件:
<Router>
<Scene key="root">
<Scene key="login" component={Login} title="Login" initial={true} hideNavBar="true" duration={1} />
<Scene key="home" component={Home} title="Home" hideNavBar="true" duration={1} />
</Scene>
</Router>
- 需要在
<Router>
重定向Login
中更新什么Home
? - 如果我的
Router
组件嵌套在一个Drawer
组件中,我将在哪里/如何更新状态以指定我的用户已登录?
react-native - 如何在 react-native-router-flux 中使用 react-native-side-menu?
我做了一个反应原生应用程序,在屏幕底部有导航栏和标签。当我单击主屏幕中的按钮时,它会出现左侧菜单。侧面菜单中有一个按钮。当我点击按钮时,我应该怎么做才能转到另一个屏幕?我用于导航和选项卡以及左侧菜单。我想要一个简单的代码片段。谢谢你。
react-native - React Native Router Flux 与 Drawer 和 Swiper
当在抽屉内按下按钮时,我想不出一种滚动滑动器的方法。
确切地说:一个组件有一个全屏滑动器。当用户单击汉堡包按钮时,抽屉会显示一系列swiper 数据源项。我想导航到我的组件中单击的数据源项。Swiper 已经为此提供了一个 scrollBy 功能。我只需要知道如何触发我的 swiper 来滚动 x 索引。
我在我的应用程序中使用 Redux 模型。我试图通过减速器传递 swiper 的引用,但这似乎是错误的。
react-native - 是否可以在 react-native-router-flux 中向 NavBar 添加自定义按钮?
我想在查看某些页面时添加一个汉堡菜单按钮和一个出现在所有页面上的右侧按钮。react-native-router-flux 有可能吗?
更新:通过使用此代码,我能够轻松获得右侧按钮
汉堡菜单按钮被证明更加困难。导航栏上有一个drawerImage属性,但没有关于如何使该drawerImage 出现以及如何设置处理函数的其他文档。
我尝试像设置左按钮一样设置 rightButtonImage、onRight rightTitle 和 rightButtonIconStyle,但没有出现任何按钮。
更新 2:由于这个问题,我降级到 react-native-router-flux v3.34.0:https ://github.com/aksonov/react-native-router-flux/issues/1154
并将这些道具添加到我的场景中:
ios - 旋转设备时,react-native ios 应用程序不会重新呈现
当我旋转设备时,旧视图会旋转但保持与原来相同的尺寸,仅使用屏幕的一部分,直到触摸屏幕,然后重新渲染。(这是在发布模式下:在调试模式下,它会自动重新渲染,但仅在延迟一两秒后)。这发生在模拟器和运行 iOS7 和 iOS9 的设备上。
这个问题是在我将我的应用程序从react-native
0.24.1 升级到 0.32.0 后开始的。当然,这种升级就像从毛衣中拉出线一样,需要升级许多 3rd 方 react-native 库。特别是,react-native-router-flux
从 3.24.1 升级到 3.35.0 需要对我的代码进行大量更改。
也就是说,我想不出任何可能导致此问题的更改。起初我怀疑react-native-orientation
,升级特别棘手,所以我将它完全从项目中删除,这没有帮助。
onLayout
我在顶层视图中添加了事件的回调,并带有console.log
打印输出。这个事件显然不会在设备旋转后触发,直到屏幕被触摸。然后打印 onLayout 调试语句,同时重新渲染 react-native 代码。
因此,似乎本机代码不会通过桥将旋转事件发送到 javascript 代码,直到它可以搭载其他事件。
任何有关如何调试的建议将不胜感激。
更新:我只记得关于0.28中的flex:1
重大更改的说明。react-native
我想知道这是否与它有关?他们说:
如果您以前使用过 flex: 1 在不必要的情况下,此更改可能会破坏您的布局
问题是,什么时候有必要,你怎么知道它是否有必要?我似乎找不到关于它的文档。我总是flex:1
到处使用,因为我发现如果你不这样做,就会发生坏事。在Scrollview
文档中说:
忘记将 {flex: 1} 向下传输视图堆栈可能会导致此处出现错误
现在看来,如果你这样做,可能会发生坏事。真可惜。他们似乎真的想让你知道你在做什么。黑客要做什么?
更新2:这似乎不是问题。黑客所做的当然是hack。我{flex: 1}
从顶层开始逐一删除。在大多数情况下,它破坏了布局,并且在任何情况下都没有解决这个问题。
android - BackAndroid 不适用于 react-native-router-flux
react-native-router-flux v3.30.0 react-native v0.31.0
当我按下 BackAndroidButton 时,它会调用 handleBackAndroid 函数并退出应用程序。