【问题标题】:react-native-router-flux tab's on press is not working after select any tab选择任何选项卡后,react-native-router-flux 选项卡在按下时不起作用
【发布时间】:2020-01-02 08:46:58
【问题描述】:
我最近将旧的 react native 项目从 0.55.4 更新到 0.59.5。它在 iOS 发布和调试以及 Android 调试中运行良好。但在 Android 发布模式下,选项卡之间的切换无法正常工作。
我在那个旧项目中使用 react-native-router-flux。
场景:
默认情况下打开选项卡屏幕时,第一个选项卡被选中,这很好,我选择任何其他选项卡,该特定选项卡被选中。但是当我第二次单击以选择其他选项卡时,选项卡 onpress 停止工作。早些时候,它在 0.55.4 版 中运行良好。
当前版本的本机路由器通量react-native-router-flux v4.0.6
请帮忙:)
【问题讨论】:
标签:
android
react-native
tabbar
react-native-router-flux
【解决方案1】:
你有没有解决这个问题??
从 RN 0.55.3 -> 0.59.10 升级后我遇到了问题。
我也有同样的问题。我的设置有点不同,因为我正在使用
"react-native-router-flux": "4.0.0-beta.31",
"react-native": "0.59.10",
标签点击触发jumpToIndex(scene.index);,它实际上工作正常。导航动作和 REACT_NATIVE_ROUTER_FLUX_BLUR && REACT_NATIVE_ROUTER_FLUX_FOCUS 动作都被调用,并且场景被置于“焦点”。它仅适用于第一次更改,然后停止工作。尽管调试器仍然走相同的路径,并且在工作时所做的一切都与以前相同。
另外,设置swipeEnabled: true, 可以让我毫无问题地浏览选项卡,但如果我先滑动,那么之前工作的第一个选项卡单击将不再起作用..
我尝试了不同的版本,但都没有帮助,因为 router-flux 升级会带来巨大的 api 变化
我的解决方案:
我实际上已经通过将 react-navigation 从 "1.0.0-beta.21 升级到 1.5.13 解决了我的问题
【解决方案2】:
所以,经过巨大的斗争终于。我自己解决了这个问题。
首先,我删除了节点模块文件夹(请在执行此步骤之前进行备份)。然后,我再次通过
安装了节点模块
npm 安装命令
在那之后,我在一些包中遇到了一些关于 androidx 的问题,我修复了那些使用
npm install --save-dev jetifier
npx 喷射
npx react-native run-android(你的应用应该能正确编译和工作)
同时添加
android.useAndroidX=true
android.enableJetifier=true
在你的 gradle.properties 文件中
经过这些步骤并删除 androidx 相关问题。我创建了发布 apk,安装了它,一切正常。