我有一个标签导航器,里面有许多不同的屏幕堆栈,所有的屏幕堆栈都是由一个屏幕组成的。下面是我代码中的两个例子。当我执行第一个时,没有卸载任何东西。当我执行第二个时,所有东西都卸载了。
// Nothing unmounts
navigation.navigate("TabNavigator", {
screen: "ProfileStack",
params: {
screen: "ProfileScreen",
params: {
userId: user?.userId,
},
},
});
// Everything unmounts
navigation.push("TabNavigator", {
screen: "ProfileStack",
params: {
screen: "ProfileScreen",
params: {
userId: user?.userId,
},
},
});
我有时也需要使用push(),因为如果一个用户在一个配置文件上,然后转到另一个配置文件,我需要他们都在堆栈中,以便返回按钮正常工作。为什么会发生这种情况?我能做些什么来防止这种情况?谢谢。
1条答案
按热度按时间5f0d552i1#
而不是导航你可以尝试重置你的
navigation
history
如下所示参考此链接获取更多信息https://reactnavigation.org/docs/navigation-actions/