Dual drawer navigation react native expo











up vote
0
down vote

favorite












I'm trying to implement a left drawer and right drawer for my app. I'm unable to find any usable examples online. I've tried 3-4 examples including the example from react native docs itself and I'm getting undefined is a not an object (evaluating'Component.router). If anyone has a working example of an app with a left and right drawer navigator that would be great. Thanks!










share|improve this question


























    up vote
    0
    down vote

    favorite












    I'm trying to implement a left drawer and right drawer for my app. I'm unable to find any usable examples online. I've tried 3-4 examples including the example from react native docs itself and I'm getting undefined is a not an object (evaluating'Component.router). If anyone has a working example of an app with a left and right drawer navigator that would be great. Thanks!










    share|improve this question
























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I'm trying to implement a left drawer and right drawer for my app. I'm unable to find any usable examples online. I've tried 3-4 examples including the example from react native docs itself and I'm getting undefined is a not an object (evaluating'Component.router). If anyone has a working example of an app with a left and right drawer navigator that would be great. Thanks!










      share|improve this question













      I'm trying to implement a left drawer and right drawer for my app. I'm unable to find any usable examples online. I've tried 3-4 examples including the example from react native docs itself and I'm getting undefined is a not an object (evaluating'Component.router). If anyone has a working example of an app with a left and right drawer navigator that would be great. Thanks!







      react-native react-navigation expo






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked yesterday









      jacob blankenship

      306




      306
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          0
          down vote













          I believe that you could do something like this, create a new file 'AppNav.js' to handle all your navigation/drawers etc~



          AppNav.js



          const LeftDrawer = createDrawerNavigator(
          {
          Screen1: {
          screen: Screen1,
          },
          Screen2: {
          screen: Screen2,
          },

          }, {
          headerMode: 'none',
          drawerWidth: SCREEN_WIDTH * 0.6,
          drawerPosition: 'left',
          })

          const RightDrawer = createDrawerNavigator(
          {
          Screen1: {
          screen: Screen1,
          },
          Screen2: {
          screen: Screen2,
          },

          }, {
          headerMode: 'none',
          drawerWidth: SCREEN_WIDTH * 0.6,
          drawerPosition: 'right',
          })

          const RootNavigator = createStackNavigator({
          LeftDrawer: { screen: LeftDrawer },
          RightDrawer: { screen: RightDrawer }
          })

          export default AppNav = props => {
          return <RootNavigator />
          }


          EDIT: Plus, on the RootNavigator, before the call of LeftDrawer, you can set the main screen of your app and set it as 'initialRouteName'






          share|improve this answer





















            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














             

            draft saved


            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53372244%2fdual-drawer-navigation-react-native-expo%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            0
            down vote













            I believe that you could do something like this, create a new file 'AppNav.js' to handle all your navigation/drawers etc~



            AppNav.js



            const LeftDrawer = createDrawerNavigator(
            {
            Screen1: {
            screen: Screen1,
            },
            Screen2: {
            screen: Screen2,
            },

            }, {
            headerMode: 'none',
            drawerWidth: SCREEN_WIDTH * 0.6,
            drawerPosition: 'left',
            })

            const RightDrawer = createDrawerNavigator(
            {
            Screen1: {
            screen: Screen1,
            },
            Screen2: {
            screen: Screen2,
            },

            }, {
            headerMode: 'none',
            drawerWidth: SCREEN_WIDTH * 0.6,
            drawerPosition: 'right',
            })

            const RootNavigator = createStackNavigator({
            LeftDrawer: { screen: LeftDrawer },
            RightDrawer: { screen: RightDrawer }
            })

            export default AppNav = props => {
            return <RootNavigator />
            }


            EDIT: Plus, on the RootNavigator, before the call of LeftDrawer, you can set the main screen of your app and set it as 'initialRouteName'






            share|improve this answer

























              up vote
              0
              down vote













              I believe that you could do something like this, create a new file 'AppNav.js' to handle all your navigation/drawers etc~



              AppNav.js



              const LeftDrawer = createDrawerNavigator(
              {
              Screen1: {
              screen: Screen1,
              },
              Screen2: {
              screen: Screen2,
              },

              }, {
              headerMode: 'none',
              drawerWidth: SCREEN_WIDTH * 0.6,
              drawerPosition: 'left',
              })

              const RightDrawer = createDrawerNavigator(
              {
              Screen1: {
              screen: Screen1,
              },
              Screen2: {
              screen: Screen2,
              },

              }, {
              headerMode: 'none',
              drawerWidth: SCREEN_WIDTH * 0.6,
              drawerPosition: 'right',
              })

              const RootNavigator = createStackNavigator({
              LeftDrawer: { screen: LeftDrawer },
              RightDrawer: { screen: RightDrawer }
              })

              export default AppNav = props => {
              return <RootNavigator />
              }


              EDIT: Plus, on the RootNavigator, before the call of LeftDrawer, you can set the main screen of your app and set it as 'initialRouteName'






              share|improve this answer























                up vote
                0
                down vote










                up vote
                0
                down vote









                I believe that you could do something like this, create a new file 'AppNav.js' to handle all your navigation/drawers etc~



                AppNav.js



                const LeftDrawer = createDrawerNavigator(
                {
                Screen1: {
                screen: Screen1,
                },
                Screen2: {
                screen: Screen2,
                },

                }, {
                headerMode: 'none',
                drawerWidth: SCREEN_WIDTH * 0.6,
                drawerPosition: 'left',
                })

                const RightDrawer = createDrawerNavigator(
                {
                Screen1: {
                screen: Screen1,
                },
                Screen2: {
                screen: Screen2,
                },

                }, {
                headerMode: 'none',
                drawerWidth: SCREEN_WIDTH * 0.6,
                drawerPosition: 'right',
                })

                const RootNavigator = createStackNavigator({
                LeftDrawer: { screen: LeftDrawer },
                RightDrawer: { screen: RightDrawer }
                })

                export default AppNav = props => {
                return <RootNavigator />
                }


                EDIT: Plus, on the RootNavigator, before the call of LeftDrawer, you can set the main screen of your app and set it as 'initialRouteName'






                share|improve this answer












                I believe that you could do something like this, create a new file 'AppNav.js' to handle all your navigation/drawers etc~



                AppNav.js



                const LeftDrawer = createDrawerNavigator(
                {
                Screen1: {
                screen: Screen1,
                },
                Screen2: {
                screen: Screen2,
                },

                }, {
                headerMode: 'none',
                drawerWidth: SCREEN_WIDTH * 0.6,
                drawerPosition: 'left',
                })

                const RightDrawer = createDrawerNavigator(
                {
                Screen1: {
                screen: Screen1,
                },
                Screen2: {
                screen: Screen2,
                },

                }, {
                headerMode: 'none',
                drawerWidth: SCREEN_WIDTH * 0.6,
                drawerPosition: 'right',
                })

                const RootNavigator = createStackNavigator({
                LeftDrawer: { screen: LeftDrawer },
                RightDrawer: { screen: RightDrawer }
                })

                export default AppNav = props => {
                return <RootNavigator />
                }


                EDIT: Plus, on the RootNavigator, before the call of LeftDrawer, you can set the main screen of your app and set it as 'initialRouteName'







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered yesterday









                kivul

                689




                689






























                     

                    draft saved


                    draft discarded



















































                     


                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53372244%2fdual-drawer-navigation-react-native-expo%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    'app-layout' is not a known element: how to share Component with different Modules

                    android studio warns about leanback feature tag usage required on manifest while using Unity exported app?

                    WPF add header to Image with URL pettitions [duplicate]