Скрыть маршрут от createDrawerNavigator - PullRequest
0 голосов
/ 23 октября 2019

Как я могу скрыть маршрут от моего createDrawerNavigator

class TestYourselfScreen extends React.Component {
  static navigationOptions = {
    drawerLabel: () => null
  };

Я пробовал описанное выше, но маршрут все еще существует в моем ящике. Мой appNavigator это:

const config = {
    contentOptions: {
        activeTintColor: "#e91e63",
        inactiveTintColor: "#ffffff",
        itemStyle: {
            flexDirection: "row-reverse"
        }
    },
    drawerWidth: 300,
    overlayColor: "#003366",
    drawerPosition: "right",
    drawerBackgroundColor: "#009999",
    transparentCard: true,
    cardStyle: {
        backgroundColor: "transparent",
        opacity: 1
    },
    transitionConfig: () => ({
        containerStyle: {
            backgroundColor: "transparent"
        }
    })
};

const withHeader = (
    screen: Function,
    routeName: string,
    Header
): StackNavigator =>
    createStackNavigator(
        {
            [routeName]: {
                screen,
                navigationOptions: ({ routeName, props }) => ({

                    header: props => <Header {...props} />
                })
            }
        },
        {
            initialRoute: "Home",
            transparentCard: true,
            cardStyle: {
                backgroundColor: "transparent",
                opacity: 1
            },
            transitionConfig: () => ({
                containerStyle: {
                    backgroundColor: "transparent"
                }
            })
        }
    );

const routes = {
    VideoEpisodes: {
        screen: withHeader(VideoEpisodesScreen, "Video Episodes", DrawerHeader)
    },
    TestYourself: {
        screen: withHeader(TestYourselfScreen, "Test Yourself", DrawerHeader)
    },
    MyResults: {
        screen: withHeader(MyResultsScreen, "My Results", DrawerHeader)
    },
    Search: {
        screen: withHeader(SearchScreen, "Search", DrawerHeader)
    },
    About: {
        screen: withHeader(AboutScreen, "About", DrawerHeader)
    },
    BookmarkedVideos: {
        screen: withHeader(
            BookmarkedVideosScreen,
            "Bookmarked Videos",
            DrawerHeader
        )
    }
};

const NestedDrawer = createDrawerNavigator(routes, config);

const MainStack = createStackNavigator(
    {
        Home: {
            screen: HomeScreen,
            navigationOptions: ({ props }) => ({
                header: props => <BasicHeader {...props} />
            })
        },
        Drawer: {
            screen: NestedDrawer,
            navigationOptions: ({ props }) => ({
                header: () => null
            })
        },
        VideoPlayer: {
            screen: VideoPlayerScreen,
            navigationOptions: ({ props }) => ({
                header: props => <BasicHeader {...props} />
            })
        }
    },
    {
        initialRoute: "Home",
        transparentCard: true,
        cardStyle: {
            backgroundColor: "transparent",
            opacity: 1
        },
        transitionConfig: () => ({
            containerStyle: {
                backgroundColor: "transparent"
            }
        })
    }
);

export default createAppContainer(MainStack);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...