aksonov / react-native-router-flux

The first declarative React Native router
MIT License
8.99k stars 2.11k forks source link

How to reset navigation stack? #3631

Open AlekseyKutsko opened 4 years ago

AlekseyKutsko commented 4 years ago

Version

Expected behaviour

My current scene is ProjectList. When I click menu item "Chat" in the Drawer I want to reset navigation stack with key="root". How to do that?

My code

<View style={{flex: 1}}>
                <Provider store={config.store}>
                    <Router
                        createReducer={reducerCreate}
                        getSceneStyle={getSceneStyle}
                    >

                        <Overlay key="overlay">

                            <Stack>
                                <Scene
                                    key="launch"
                                    component={LoginView}
                                    title="Launch"
                                    panHandlers={null}
                                    gestureEnabled={false}
                                    initial
                                    hideNavBar
                                    drawerLockMode={"locked-closed"}
                                />

                                <Drawer
                                    drawerPosition="left"
                                    panHandlers={null}
                                    gestureEnabled={false}
                                    key="drawer"
                                    contentComponent={DrawerContent}
                                    hideNavBar
                                >
                                    <Stack key="root"
                                       titleStyle={{alignSelf: 'center'}}
                                       navBar={NavBar} >
                                        <Scene
                                            panHandlers={null}
                                            gestureEnabled={false}
                                            key="ProjectList"
                                            component={ProjectList}
                                        />
                                        <Scene
                                            key="userSetting"
                                            component={userSetting}
                                        />
                                        <Scene
                                            key="Wiki"
                                            component={Wiki}
                                        />
                                        <Scene
                                            key="Chat"
                                            panHandlers={null}
                                            gestureEnabled={false}
                                            component={Chat}
                                        />
                                    </Stack>
                                </Drawer>
                            </Stack>
                        </Overlay>
                    </Router>
                </Provider>
            </View>
shiroze commented 4 years ago

reset mean clear all you navigation stack, read RNRF docs API

and use this Method Here