gpt4 book ai didi

react-native - react 导航中的通用/共享屏幕路由?

转载 作者:行者123 更新时间:2023-12-04 00:33:07 24 4
gpt4 key购买 nike

我有这样的导航配置。

StackNavigator
-> stack_screen1
-> stack_screen2
-> TabScreens

TabScreens
-> tab_screen1
-> StackNavigator
-> screen x
-> screen1 // common component
-> screen2 // common component
-> tab_screen2
-> StackNavigator
-> screen y
-> screen1
-> screen2
-> tab_screen3
-> StackNavigator
-> screen z
-> screen1
-> screen2

这里 screen1 和 screen2 是可以从任何选项卡屏幕调用的通用组件。例如,我可以从任何选项卡屏幕显示产品显示页面。问题是如果从说 tab_screen1 调用 screen1 并且我将选项卡切换到说 tab_screen2,然后从 tab_screen2 访问之前安装的 screen1 从tab_screen1 被调用,标签也切换到原始标签。

一种解决方法是为相似的组件设置不同的 key 。但这需要做很多工作,因为我的应用中有许多共享组件,而且我正在将 navigation-experimental 替换为 react-navigation。还有其他解决方案吗?

最佳答案

您可以将 Tab 包装到 StackNavigator 中,试试这个...

const TabApp = TabNavigator(
{
Home: {
screen: Home,
},
Notifications: {
screen: Notifications,
},
Profile: {
screen: Profile,
},
},
)
const App = = StackNavigator(
{
Home: { screen: TabApp },
ProfileOne: { screen: ProfileScreen},
ProfileTwo: { screen: ProfileScreen2},
}
);

这样 ProfileScreen 和 ProfileScreen2 在所有选项卡之间共享

https://github.com/react-navigation/react-navigation/issues/586#issuecomment-310692484

关于react-native - react 导航中的通用/共享屏幕路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47811743/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com