В React Native я перемещаюсь с экрана на другой экран. Я загружаю заказы на обоих экранах по методу componentWillMount. При переходе ко второму экрану первый отключается, а второй автоматически отключается и возвращается к первому экрану. Я не знаю почему ..
Navigatort.tsx
const MenuDrawerNavigator = createDrawerNavigator(
{
Orders: {
screen: DriverOrdersScreenContainer,
},
CurrentRoute: {
screen: CurrentRouteScreenContainer,
},
},
{
initialRouteName: 'CurrentRoute',
contentComponent: SideMenuContainer,
unmountInactiveRoutes: true,
}
);
export const AppStack = createStackNavigator({
Login: {
screen: LoginScreenContainer,
navigationOptions: {
header: null
}
},
DrawerNavigator: {
screen: MenuDrawerNavigator,
}
},
{
initialRouteName: 'Login',
defaultNavigationOptions: ({navigation}) => ({
title: "Main",
header: <MenuBarContainer navigation={navigation} />,
})
}
);
const Navigator = createAppContainer(AppStack);
export default Navigator;
Я перемещаюсь между экранами, используя этот метод:
navigateToScreen = (route: string) => () => {
const {navigation} = this.props;
const navigateAction = NavigationActions.navigate({
routeName: route
});
navigation.dispatch(navigateAction);
navigation.dispatch(DrawerActions.closeDrawer());
};
Первый экран методы - когда я перехожу на второй экран, я получаю предупреждение (2)
componentWillMount(): void {
const {getRoute} = this.props;
getRoute();
this.timer = setInterval(async () => await getRoute(), 60000);
}
componentWillUnmount() {
alert(2);
clearInterval(this.timer);
}
Второй экран методы - после перехода на этот экран я также получаю предупреждение ( 1) и автоматически я перехожу к первому экрану ..
componentWillMount(): void {
const {getOrders} = this.props;
getOrders();
this.timer = setInterval(async () => await getOrders(), 60000);
}
componentWillUnmount() {
alert(1);
clearInterval(this.timer);
}