问题标签 [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 投票
1 回答
343 浏览

reactjs - React Native Router Flux (react-native-router-flux) - 在 reducer 中调用动作

我有一个关于从减速器调用动作或只是重定向到另一个场景的问题。我想在用户成功登录后重定向到一个场景。我的 action.js 使用了“redux-api-middleware”模块:

动作.js

减速器.js

现在,如果我LOGIN_SUCCESSFUL想调用 ActionsMY_SCENE_KEY 之类的操作来重定向到下一个屏幕。当我在 reducer 中调用 Actions 时出现一些错误,这可能是错误的方法。

0 投票
1 回答
993 浏览

reactjs - react-native-router-flux :在返回导航时没有调用 React 生命周期方法

我正在开发一个反应原生应用程序。我正在使用react-native-router-flux库在应用程序中进行导航。

该库工作正常,但在返回导航时没有调用任何反应生命周期方法。

假设例如我在第 2 页上按下后退按钮,它导航到第 1 页并且第 2 页的 componentWillUnmount() 被调用,但第 1 页的生命周期方法没有被调用

我想根据新状态刷新页面 1。

任何帮助将不胜感激。

0 投票
2 回答
1065 浏览

javascript - React Native - navigationState.children[3].key "SCENE_2" 与另一个孩子冲突

我们的 react-native 应用程序中的当前导航存在问题。我们使用react-native-router-flux模块。

我们的路由器结构如下所示:

我们使用自己的 TabBar,如下所示:

TabBar 包含几个按钮。其中之一具有对个人资料场景的操作。像这样:

如果我单击配置文件按钮,它只会在第一次工作。当我返回并再次单击配置文件按钮按钮时,出现错误:

navigationState.children[3].key "scene_2_PROFILE_TABBAR" 与另一个孩子冲突!

代码有什么问题?我是否错误地使用了操作?我还能如何构建我的代码?

0 投票
1 回答
2213 浏览

javascript - React Native Router Flux:如何设置 NavDrawer 的按钮和导航栏的样式?

在 React Native Router Flux 中,我有一个react-native-drawer名为NavDrawer. 它目前在导航栏左侧有默认的汉堡菜单图标,并希望将其更改为另一个自定义图标。所以我尝试了,leftTitle='Menu',但它没有改变。

所以我想知道如何自定义react-native-drawer的默认菜单图标?

而且我还通过 更改了导航栏的高度navigationBarStyle,因此按钮目前靠近导航栏的底部而不是在中间。所以在 中navigationBarStyle,我尝试了flex: 1, flexDirection: 'row', alignItems: 'center',但没有改变任何东西。

那么如何将导航栏中的元素水平居中对齐呢?

这是代码:

谢谢

0 投票
2 回答
2409 浏览

javascript - 使用 react-native-router-flux 与 nativebase

我读了https://blog.nativebase.io/the-caveats-of-using-navigator-in-react-native-9547d99172ce#.cghvxk1mo

使用 react-native-router-flux 作为导航器,但是当我将它与 nativebase 一起使用时。nativebase 的组件未激活

文件:Home.js

文件:我的场景.js

运行应用程序时。nativeBase 的组件未激活。

任何人都将 nativeBase 与 react-native-router-flux 一起使用。请给我一个例子!谢谢你的帮助!

0 投票
2 回答
116 浏览

react-native - React + Redux 为我的 react-native 应用程序设置。处理连接的正确方法是什么?

我正在使用 react-native-router-flux 库构建一个简单的 react-native 应用程序。

我只有3个场景:

  • 搜索
  • 收藏夹

我在我app.js的原样中定义了它们:

在我的setup.js中,我有以下内容:

我的问题是我是否应该将每个组件(主页、搜索、收藏夹)连接到商店,或者我是否应该在我的应用程序 (app.js) 组件中这样做并将动作和状态作为道具传递给每个场景组件。

我有以下行动:

  • 获取最近()
  • searchByKeywords(关键词)
  • searchByCategory(categoryId)
  • addToFavorites(photoId)
  • removeFromFavorites(photoId)

以及以下减速器:

  • 照片结果
  • 最爱

请让我知道在这里设置的最佳方式。我应该连接到每个组件中的状态和操作,还是在 App 组件级别(定义路由器场景的位置)执行一次并向下传递。

0 投票
1 回答
2162 浏览

javascript - 在 React-Native Navigator 中传递道具/状态

React Native 新手在这里。

我正在尝试构建一个简单的 React Native 应用程序来练习,它本质上只是一个多页联系表。

当我通过导航器(navigatorRenderScene 函数)渲染子组件时,我无法找出将道具/状态传递给子组件的最佳方式

每当我尝试在这里为我的组件分配道具时,它允许我传递一个字符串,但不能传递一个函数或对象。例如在组件中首先,我试图传递一个字符串和一个函数。一旦页面被渲染,只有字符串会保持它的值。

我这样做完全错误吗?我是否需要研究某种状态管理系统,例如 Flux 或 Redux?甚至可能是 redux 路由器包?(老实说,还没有碰过这些)

路由一切正常,只是我无法弄清楚的道具/状态。

这是我的索引

这是一个示例组件,首先

0 投票
1 回答
840 浏览

javascript - 如何垂直居中导航栏元素并删除右导航栏按钮?

我正在使用 react-native-router-flux 并设置了导航栏。目前,导航栏的高度被设计为比默认高度更短,因此导航栏容器内的元素位置较低,靠近导航栏容器的底部。

我试过navigationBarStyle={{backgroundColor: 'pink', height: 55, flex: 1, justifyContent: 'center'}}了,但还是没有运气。

如何将导航栏中的元素垂直居中?

目前,右侧导航栏按钮Settings设置为导航到Settings组件。但是在Settings页面上,想去掉Settings右边导航栏的按钮。我该怎么做?

这是它的外观(粉红色背景的导航栏是容器,左侧的抽屉按钮、场景标题(主页)和右侧的设置按钮靠近导航栏的底部):

在此处输入图像描述

这是代码:

先感谢您

0 投票
1 回答
875 浏览

javascript - 如何在 React Native Router Flux 中嵌套场景并使用 direction='vertical' 导航?

我想嵌套 react-native-router-flux<Scene/>并尝试以下操作,但我无法导航到<Scene component={Home}/>from <Scene component={Profile}/>

我想将组件嵌套Profile在组件内Home,因为它只能通过Home组件访问。

那么如何正确地将组件嵌套Profile在组件内Home呢?

当我也导航到Profile组件时,它会按vertical方向导航,但是当它尝试从组件导航到另一个Actions.test()没有direction='vertical'设置的组件(例如)Profile时,它应该在垂直时水平导航,而在Profile组件内点击返回按钮导航返回vertical方向。

由于我导航到Profilecomponent vertically,如何在导航时Profile卸载组件vertically,即使导航到没有组件的组件direction='vertical'

0 投票
1 回答
540 浏览

react-native - 如何使用 react-native-router-flux 在场景转换期间防止当前场景渲染?

我在场景 A 上有一个 ListView 组件,它最初没有任何内容;它是与商店相关的最近搜索词的列表。

当用户输入搜索词并在场景 A 上单击提交时,最近搜索词存储已更新,然后我们立即转换到场景 B。我从 ListView 收到“空部分标题”警告,我认为这是由场景 A 引起的随着场景的过渡开始渲染。

我尝试在场景 A 组件上使用 shouldComponentUpdate(),但它似乎没有触发?!我希望查看当前位置和新位置,如果它们不同,则返回 false 以防止更新/渲染。

有人对此有建议吗?

设置enableEmptySections={true}可以防止出现关于空部分标题的警告消息,但这似乎是绷带,而不是永久的解决方案。