由于导航重置,ComponentDidMount调用两次

时间:2017-09-29 04:47:53

标签: javascript react-native react-native-android react-navigation

我是反应原生的新手。我在我的应用程序中添加了一个启动画面,这是我的应用程序的初始路径,我使用setTimeout,它在3秒后调用一个函数,我导航到我的登录页面。为此,我正在使用react-navigation。当用户打开我的应用程序时,他会进入启动画面,3秒后,他会导航到登录页面。它工作正常,但当Android用户按下后退按钮时,它会回到启动画面。因此,我将启动画面的componentDidMount函数中的导航重置为

apptest

但是我的登录页面呈现了两次。但是,如果我只使用此

导航到登录页面
   const resetAction = NavigationActions.reset({
              index: 0,
              actions: [
                NavigationActions.navigate({ routeName: 'Login'}),
              ],
            });
            that.props.navigation.dispatch(resetAction);  

它工作正常。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

由于我的登录组件,会出现此问题。在我的登录组件中,我在componentWillMount中设置路由器参数值,该值由我的登录标头使用。

 this.props.navigation.setParams({ isLoading: false });

由于这个原因,我的splash组件再次调用并返回登录页面。因此登录组件呈现两次。