Reactjs 在React Native Redux中更新状态后出现空白屏幕

Reactjs 在React Native Redux中更新状态后出现空白屏幕,reactjs,react-native,redux,react-redux,Reactjs,React Native,Redux,React Redux,第一次呈现组件时,我将获得Home组件,但当我在componentDidMountHomeComponent中更改状态时,它会再次导航HomeComponent,然后转到空白页。它与\u renderScene逻辑无关 如果我在renderScene中简单地返回,在componentDidMount() 从'react native navigation redux helpers'导入{actions as navigations}; 类HomeContainer扩展组件{ _渲染场景(场景投

第一次呈现组件时,我将获得
Home
组件,但当我在
componentDidMount
HomeComponent中更改状态时,它会再次导航HomeComponent,然后转到空白页。它与
\u renderScene
逻辑无关

如果我在renderScene中简单地
返回
,在
componentDidMount()

从'react native navigation redux helpers'导入{actions as navigations};
类HomeContainer扩展组件{
_渲染场景(场景投影){
返回
}
componentDidMount(){
此.props.dispatch(导航动作.跳转到(1,“主”))
//工作时
//此.props.dispatch(导航动作.跳转到(1,“主页”)
//在这里,我更改了homeNavigation的状态。
}
render(){
返回(
);
}
}
函数MapStateTops(状态){
返回{
mainNav:state.mainNavigation,
homeNav:state.homeNavigation
};
}
当我更改homeNav
this.props.dispatch(navActions.jumpTo(1,“home”))的状态时,它会工作。

但是,当我在第一次呈现
后更改上述代码中的mainNav时,它会再次导航并转到一个空白屏幕。

如代码中所述,当您在componentDidMount()方法中调度操作时,如:

this.props.dispatch(navActions.jumpTo(1, "main"))
然后,您的mapStateToProps()方法在此更新时仅接收mainNav prop和homeNav的值为零或空。在接收mainNav后,您的render()方法将执行,并且在渲染中,您将传递当前为零或空的homeNav,如下所示:

<NavigationCardStack
        navigationState={this.props.homeNav}
        renderScene={this._renderScene.bind(this)}
      />


通过值blank或nil,它不会在主组件上重定向并显示空白屏幕。在这种情况下,您应该使用mainNav,或者也应该将mainNav与homeNav一起传递。谢谢!

如何将两个导航状态作为一个传递?或者表示嵌套状态?不,当您从主组件发送状态更新时,您应该从我在render()中保留了一个调试器,可以看到homeNav和mainNav的最新状态。
<NavigationCardStack
        navigationState={this.props.homeNav}
        renderScene={this._renderScene.bind(this)}
      />