reactjs - 移动到其他屏幕时反应导航调用整个堆栈
问题描述
我已经用官方文档中给出的redux 实现了 react-navigation 。它工作正常,但是当我从第一个屏幕移动到第二个屏幕时,它正在刷新整个堆栈。
我有 3 个屏幕,分别称为 LoginScreen、HomeScreen 和 HomeDetailScreen。
这是每种情况下的输出
初始加载
输出:调用 LoginScreen 的构造函数
当我从登录移动到主页
输出时:调用 LoginScren 的构造函数 -> 调用 HomeScreen 的构造函数。
当我从 Home 移动到 HomeDetail
输出时:调用 LoginScren 的构造函数 -> 调用 HomeScreen 的构造函数 -> 调用 HomeDetailScreen 的构造函数。
版本
react-navigation : "^2.12.1"
react-navigation-redux-helpers": "^2.0.5"
解决方案
找到了解决方案,实际上是问题所在connect()
,我做了两次,这就是问题所在。
function ReduxNavigation() {
const AppWithNavigationState = connect(mapStateToProps)(reduxifyNavigator(AppNavigation, "root"));
return (
<AppWithNavigationState />
)
}
//export default connect(mapStateToProps)(ReduxNavigation)
export default ReduxNavigation
正如您在上面的代码中看到的那样,我已经绑定了导航,但在导出它时我仍然在做同样的事情。我已经评论了这部分代码以供其他用户理解。
推荐阅读
- variables - 关于“set”的命名建议
- css - 为什么带有内容的 ::before 伪元素在“display:flex”容器中只去除了前导空格?
- android - isHardwareAccelerated() 总是返回 false
- android - 应用程序崩溃一次替换 Fragment for scoped ViewModel
- scala - databricks scala 在 if 循环之外调用变量
- angular - 更新可观察结果
- sapui5 - “未捕获的 TypeError:sap.ui.require.toUrl 不是函数”
- php - 如何将图像上传到其他服务器
- android - 错误:无法访问 zzbgl。找不到 com.google.android.gms.internal.zzbgl 的类文件
- c# - 无法将文件从 Angular 8 上传到 Asp.net Core 2.2