由于导航重置,ComponentDidMount 调用两次
ComponentDidMount call twice due to navigation reset
我是 react-native 的新手。我在我的应用程序中添加了一个启动画面,这是我的应用程序的初始路径,我使用 setTimeout 在 3 秒后调用一个函数,我在其中导航到我的登录页面。为此,我正在使用反应导航。当用户打开我的应用程序时,他会进入初始屏幕,并在 3 秒后导航到登录页面。它工作正常,但是当 android 用户按下后退按钮时,它会返回到初始屏幕。出于这个原因,我将启动画面的 componentDidMount 函数中的导航重置为
const resetAction = NavigationActions.reset({
index: 0,
actions: [
NavigationActions.navigate({ routeName: 'Login'}),
],
});
that.props.navigation.dispatch(resetAction);
但是我的登录页面呈现了两次。但是如果我只使用这个
导航到登录页面
this.props.navigation.navigate('Login')
它工作正常。请帮我解决这个问题。
这个问题是由于我的登录组件引起的。在我的登录组件中,我在我的登录 header 使用的 componentWillMount 中设置路由器参数值。
this.props.navigation.setParams({ isLoading: false });
因此我的启动组件再次调用并返回到登录页面。因此登录组件呈现两次。
我是 react-native 的新手。我在我的应用程序中添加了一个启动画面,这是我的应用程序的初始路径,我使用 setTimeout 在 3 秒后调用一个函数,我在其中导航到我的登录页面。为此,我正在使用反应导航。当用户打开我的应用程序时,他会进入初始屏幕,并在 3 秒后导航到登录页面。它工作正常,但是当 android 用户按下后退按钮时,它会返回到初始屏幕。出于这个原因,我将启动画面的 componentDidMount 函数中的导航重置为
const resetAction = NavigationActions.reset({
index: 0,
actions: [
NavigationActions.navigate({ routeName: 'Login'}),
],
});
that.props.navigation.dispatch(resetAction);
但是我的登录页面呈现了两次。但是如果我只使用这个
导航到登录页面this.props.navigation.navigate('Login')
它工作正常。请帮我解决这个问题。
这个问题是由于我的登录组件引起的。在我的登录组件中,我在我的登录 header 使用的 componentWillMount 中设置路由器参数值。
this.props.navigation.setParams({ isLoading: false });
因此我的启动组件再次调用并返回到登录页面。因此登录组件呈现两次。