首页 > 解决方案 > 移动到其他屏幕时反应导航调用整个堆栈

问题描述

我已经用官方文档中给出的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" 

标签: reactjsreact-nativereact-reduxreact-navigation

解决方案


找到了解决方案,实际上是问题所在connect(),我做了两次,这就是问题所在。

function ReduxNavigation() {
    const AppWithNavigationState = connect(mapStateToProps)(reduxifyNavigator(AppNavigation, "root"));
    return (        
        <AppWithNavigationState />
    )
}
//export default connect(mapStateToProps)(ReduxNavigation)
export default ReduxNavigation

正如您在上面的代码中看到的那样,我已经绑定了导航,但在导出它时我仍然在做同样的事情。我已经评论了这部分代码以供其他用户理解。


推荐阅读