问题标签 [ex-navigation]

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 回答
12097 浏览

react-native - 如何使用 react-navigation 处理 React Native App 中 TabNavigator 选项卡项的点击事件?

我正在编程 React Native App。我正在使用 react-navigation 来导航屏幕。

我有 2 个 Stack Navigator,它们都留在 Tab Navigator 中。当我按下 TabBar 上的选项卡项以刷新其视图时,我想处理单击事件。

我想将来自 TabClass 组件的 clickButton() 函数传递给处理事件单击标签栏的代码。当 if(props.navigation.state.index === index),我希望它会调用 clickButton()。我试了一下,但它不起作用。有什么办法可以解决我的问题吗?

我试过onNavigationStateChange(prevState,currentState)。

但是 _handleNavagationStateChange(prevState, currentState) 只在导航状态发生变化时运行(例如,如果我停留在 HomeTab,我点击 User Tab Item,这个函数会运行;如果我停留在 HomeTab,我点击 Home Tab Item,这个函数会不跑)。

有什么方法可以处理选项卡项目上的点击事件。

0 投票
0 回答
98 浏览

javascript - 在立即ResetStack 后,前导航无法在 android 上按回

我有这个登录屏幕

当我按回我的 Android 时,它工作正常。没有堆栈历史记录的应用程序退出。

然后在我的主屏幕上,我有一个带有注销菜单的抽屉导航器

当我从导航抽屉按注销时,它会返回登录屏幕,但是当我从登录屏幕按返回时,应用程序没有退出并且我收到以下警告:

Possible Unhandled Promise Rejection (id: 0): TypeError: undefined is not an object (evaluating 'currentNavigatorState.index')

我也尝试了另一种解决方法,我使用replace而不是immediatelyResetStack这样

但我仍然收到完全相同的警告消息,我尝试BackHandler在我的登录屏幕上也放

应用程序将退出,但是当我通过 android 菜单按钮返回应用程序时,该消息仍然存在。我该如何解决?

0 投票
0 回答
446 浏览

javascript - 将 react-native 与 expo + redux + ex-navigation 一起使用时出错

index.js

configureStore.js

路由器/index.js

在android avd上运行上面的代码,avd会报错:

TypeError:未定义不是对象(评估“navigationState.navigators”)

下面的详细错误:

在此处输入图像描述

运行时环境:

  • Android 模拟器 Google Pixel XL

  • sdk 版本 27

  • 反应原生:0.50.3

  • 反应:16.0.0

  • @expo/前导航:4.2.0

  • 世博会:23.0.6

如何解决上述错误?

谢谢