如何创建无限的路由器循环

时间:2018-05-28 14:01:33

标签: react-native react-navigation

我必须使用用户个人资料创建屏幕,因为我必须能够看到他订阅的用户(以及订阅他的用户)。点击其中一个后,我必须移动到其配置文件屏幕,在那里我可以看到用户订阅的用户等。此外,当点击返回(堆栈视图箭头或andorid后退按钮)时,我还要按屏幕返回。如何实现这一点?我尝试了几件事,但没有任何效果......

这些是我提出的路线:

export const SubscribbedRouter = createStackNavigator(
    {
        Subscribbed: {
            screen: SubscribbedScreen
        }
    }
);

export const SubscribbedByRouter = createStackNavigator(
    {
        SubscribbedBy: {
            screen: SubscribbedByScreen
            }
        }
    }
);

export const ProfileSwitchRouter = createSwitchNavigator(
    {
        SubscribbedRouter,
        SubscribbedByRouter
    }
);

export const ProfileRouter = createStackNavigator(
    {
        Profile: {
            screen: ProfileSettingsScreen
        },
        ProfileSwitch: {
            screen: ProfileSwitchRouter
        }
    }
);

1 个答案:

答案 0 :(得分:1)

您将不得不使用推而不是导航

这使您可以表达添加另一条路线的意图,而与现有的导航历史记录无关。

this.props.navigation.push('Details')

每次调用push都会向导航堆栈添加一条新路线。当您调用导航时,它首先尝试查找具有该名称的现有路线,并且仅在堆栈中没有新路线时才推送新路线。

您可以在此处阅读更多内容 https://reactnavigation.org/docs/en/navigating.html