在我的React Native应用程序中,我有一个堆栈导航器,其屏幕为A
,B
和C
。屏幕A
显示有关给定用户的信息。我想在屏幕switch user
上创建一个A
按钮,该按钮将加载屏幕A
的另一个实例,但显示其他用户的信息。如果我使用this.props.navigation.navigate('A', {user: user2})
,则不会发生任何事情,因为我已经在屏幕A
上了,即如果您尝试导航到同一屏幕,即使导航参数不同,也不会这样做。
我想要实际加载屏幕A
的新实例,而不是仅停留在屏幕A
并加载新用户数据的原因是,当用户单击change user
时,我想要将新屏幕添加到堆栈时发生的视觉效果。
有人知道我该怎么做吗?
答案 0 :(得分:1)
使用navigation.replace('A', {user: user2});
替换堆栈顶部。这是一个展示博览会的小吃:https://snack.expo.io/d7NkeEmcz