У меня есть глубоко вложенный маршрут, как показано ниже.
const ReturnFlows = createStackNavigator(
{
OrderSelectScreen,
ItemTBScreen,
},
{
initialRouteName: 'OrderSelectScreen'
},
);
const CheckoutFlows = createStackNavigator(
{
ReviewScreen,
CheckoutScreen,
},
{
initialRouteName: 'ReviewScreen'
},
);
const ItemFlowScreens = createSwitchNavigator(
{
ItemTAScreen,
ReturnFlows,
CheckoutFlows,
CompletedScreen,
},
{
initialRouteName: 'CheckoutFlows',
},
);
const CreateOrderScreens = createStackNavigator(
{
CustomerScreen,
CSelectedScreen,
WarehouseScreen,
WSelectedScreen,
ItemFlowScreens,
},
{
headerMode: 'none',
},
);
const Main = createStackNavigator(
{
...otherRoutes,
CreateOrderScreens,
HomeScreen,
},
{
headerMode: 'none',
},
);
Приведенные выше маршруты примерно соответствуют схеме ниже
![nav in image form](https://i.stack.imgur.com/3bApr.png)
Все работает хорошо, но пока я go глубже в На вложенных экранах я заметил скачки использования памяти до 300мб. Кроме того, в последнем CompletedScreen
у меня есть следующая функция для возврата на начальную домашнюю страницу.
const goHome = () => {
_navigator.dispatch(
StackActions.reset({
key: null,
index: 0,
actions: [NavigationActions.navigate({ routeName: 'HomeScreen' })],
}),
);
};
Несмотря на то, что я включил useScreens
с react-native-screens
и перешел на начальный экран, использование памяти не кажется go вниз. Как я могу преодолеть эту проблему?