Reputation: 464
I have tried to figure this out for days. I have asked chatGPT how to solve this in many different ways with no success. Here is the problem: I'm using react native and react navigation. I'm having a problem with some stacks unmounting. I have a Tab.Navigator (parent) with several Tab.Screens as children. Each Tab.Screen's component is a Stack.Navigator (parent) with 1 Stack.Screen as a child. Each Stack.Screen's component is a normal screen in react native. One of the screens is a ProfileScreen. Every time I navigate to the ProfileScreen I do it with navigation.push(). This is because if I am on someone's profile and then go to someone else's from there I want to preserve that last ProfileScreen so that the user can go back to it. All of this works just fine. The problem is that when I do navigation.push() all of the screens unmount. This means that if the user goes from the ProfileScreen to the HomeScreen the HomeScreen will always have to load from scratch. I don't want this. I don't want the navigation.push() to unmount anything. What can I do to fix this? Let me know if you need any more details. Please help prove that chatGPT is nothing compared to an intelligent programmer. Thank you so much.
Upvotes: 2
Views: 1415
Reputation: 476
This should help conceptually https://reactnavigation.org/docs/navigating/
function DetailsScreen({ navigation }) {
return (
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<Text>Details Screen</Text>
<Button
title="Go to Details... again"
onPress={() => navigation.push('Details')}
/>
<Button title="Go to Home" onPress={() => navigation.navigate('Home')} />
<Button title="Go back" onPress={() => navigation.goBack()} />
</View>
);
}
may be your code may have some defect You may share the code for more clarity
Upvotes: 0