how can i add event on pressing tab bar in react native?2019 Community Moderator ElectionReact-Native - Custom navigation with Navigator componentReact-Native-Navigation - Fire an event on tab changeHow to handle click event on tab item of TabNavigator in React Native App using react-navigation?React native navigation tab logout functionNot able to exit app react nativereact-navigation's weird behavior when back button is pressed on the second tab. (React Native)add navigation to react native appA Custom Tab bar with two images in each tab using react navigation?How to create Bottom Tab Bar that disappears on scroll in React Native?I couldn't use react-navigation tab bar. How to use this?

Why are special aircraft used for the carriers in the United States Navy?

PTiJ: How should animals pray?

Ignoring Someone as Wrongful Speech

How do we objectively assess if a dialogue sounds unnatural or cringy?

Can inspiration allow the Rogue to make a Sneak Attack?

How does a sound wave propagate?

Why would /etc/passwd be used every time someone executes `ls -l` command?

Is being socially reclusive okay for a graduate student?

The need of reserving one's ability in job interviews

Affine transformation of circular arc in 3D

Is divide-by-zero a security vulnerability?

Why do we call complex numbers “numbers” but we don’t consider 2 vectors numbers?

Is there a math expression equivalent to the conditional ternary operator?

A bug in Excel? Conditional formatting for marking duplicates also highlights unique value

Should we avoid writing fiction about historical events without extensive research?

Replacing tantalum capacitor with ceramic capacitor for Op Amps

Python 3.6+ function to ask for a multiple-choice answer

Quitting employee has privileged access to critical information

Iron deposits mined from under the city

What is "desert glass" and what does it do to the PCs?

Sundering Titan and basic normal lands and snow lands

The (Easy) Road to Code

School performs periodic password audits. Is my password compromised?

Is "cogitate" an appropriate word for this?



how can i add event on pressing tab bar in react native?



2019 Community Moderator ElectionReact-Native - Custom navigation with Navigator componentReact-Native-Navigation - Fire an event on tab changeHow to handle click event on tab item of TabNavigator in React Native App using react-navigation?React native navigation tab logout functionNot able to exit app react nativereact-navigation's weird behavior when back button is pressed on the second tab. (React Native)add navigation to react native appA Custom Tab bar with two images in each tab using react navigation?How to create Bottom Tab Bar that disappears on scroll in React Native?I couldn't use react-navigation tab bar. How to use this?










0















I have a react native app in which i am using react navigation v3. I want to create an event on pressing a particular tab bar. On my home tab bar i have a barcode scanner. When the user scans, the app directs to different tab with the barcode data setting the data to async storage.But when i try to scan again it goes blank.



So, i want to create an event on which i can clear the async storage when the user goes to home tab to scan again. How can i add that event on home tab bar?










share|improve this question




























    0















    I have a react native app in which i am using react navigation v3. I want to create an event on pressing a particular tab bar. On my home tab bar i have a barcode scanner. When the user scans, the app directs to different tab with the barcode data setting the data to async storage.But when i try to scan again it goes blank.



    So, i want to create an event on which i can clear the async storage when the user goes to home tab to scan again. How can i add that event on home tab bar?










    share|improve this question


























      0












      0








      0








      I have a react native app in which i am using react navigation v3. I want to create an event on pressing a particular tab bar. On my home tab bar i have a barcode scanner. When the user scans, the app directs to different tab with the barcode data setting the data to async storage.But when i try to scan again it goes blank.



      So, i want to create an event on which i can clear the async storage when the user goes to home tab to scan again. How can i add that event on home tab bar?










      share|improve this question
















      I have a react native app in which i am using react navigation v3. I want to create an event on pressing a particular tab bar. On my home tab bar i have a barcode scanner. When the user scans, the app directs to different tab with the barcode data setting the data to async storage.But when i try to scan again it goes blank.



      So, i want to create an event on which i can clear the async storage when the user goes to home tab to scan again. How can i add that event on home tab bar?







      react-native react-navigation






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited yesterday









      Andrew

      5,77431327




      5,77431327










      asked yesterday









      Tanmoy SarkerTanmoy Sarker

      10911




      10911






















          2 Answers
          2






          active

          oldest

          votes


















          4














          Try below code it will help you,



          import NavigationEvents from "react-navigation";


          <NavigationEvents
          onWillFocus=payload => console.log('will focus',payload)
          onDidFocus=payload => console.log('did focus',payload)
          onWillBlur=payload => console.log('will blur',payload)
          onDidBlur=payload => console.log('did blur',payload)
          />


          NavigationEvents component you can added in your render method of page where you want to track event of users, and handle like AsyncStorage and whatever action you want.



          Only add one event if you don't need all



          For more detail you may visit here



          Thank you






          share|improve this answer























          • Look a like simple, great worked

            – MacJordan
            yesterday












          • I have done something like this. But i get nothing on the console when i do this stackblitz.com/edit/react-u4rxpr?embed=1&file=index.js ...What am i missing here? @Hardik Virani

            – Tanmoy Sarker
            yesterday












          • not get ur code

            – Hardik Virani
            yesterday











          • Really sorry for that. Here's my code: stackblitz.com/edit/react-62rejg?embed=1&file=index.js @HardikVirani

            – Tanmoy Sarker
            20 hours ago












          • you need to code <NavigationEvents onWillFocus=payload => console.log('will focus', payload) onDidFocus=payload => console.log('did focus',payload) onWillBlur=payload => console.log('will blur',payload) onDidBlur=payload => console.log('did blur',payload) /> inside render return

            – Hardik Virani
            20 hours ago


















          0














          You could listeners to the navigation lifecycle events.



          It is fairly straight forward to set up. Here is an example of how to set it up in your screen.



          import React, Component from 'react';
          import View, StyleSheet, Text from 'react-native';

          export default class Screen2 extends React.Component

          // willFocus - the screen will focus
          // didFocus - the screen focused (if there was a transition, the transition completed)
          // willBlur - the screen will be unfocused
          // didBlur - the screen unfocused (if there was a transition, the transition completed)
          componentDidMount ()
          // add listener
          this.willFocusSubscription = this.props.navigation.addListener('willFocus', this.willFocusAction);
          this.didFocusSubscription = this.props.navigation.addListener('didFocus', this.didFocusAction);
          this.willBlurSubscription = this.props.navigation.addListener('willBlur', this.willBlurAction);
          this.didBlurSubscription = this.props.navigation.addListener('didBlur', this.didBlurAction);


          componentWillUmount ()
          // remove listener
          this.willFocusSubscription.remove()
          this.didFocusSubscription.remove();
          this.willBlurSubscription.remove();
          this.didBlurSubscription.remove();


          willBlurAction = () =>
          console.log('willBlur Screen', new Date().getTime())


          didBlurAction = () =>
          console.log('didBlur Screen', new Date().getTime());


          didFocusAction = () =>
          console.log('didFocus Screen', new Date().getTime());


          willFocusAction = () =>
          console.log('willFocus Screen', new Date().getTime());



          render()
          return (
          <View style=styles.container>
          <Text>Screen</Text>
          </View>
          )




          You don't need to add all the listeners, only the ones that you require.
          Most likely you will want to clear your value from AsyncStorage inside the willFocus event. That way it occurs before the screen has come into focus.






          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',
            autoActivateHeartbeat: false,
            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%2f55022606%2fhow-can-i-add-event-on-pressing-tab-bar-in-react-native%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            4














            Try below code it will help you,



            import NavigationEvents from "react-navigation";


            <NavigationEvents
            onWillFocus=payload => console.log('will focus',payload)
            onDidFocus=payload => console.log('did focus',payload)
            onWillBlur=payload => console.log('will blur',payload)
            onDidBlur=payload => console.log('did blur',payload)
            />


            NavigationEvents component you can added in your render method of page where you want to track event of users, and handle like AsyncStorage and whatever action you want.



            Only add one event if you don't need all



            For more detail you may visit here



            Thank you






            share|improve this answer























            • Look a like simple, great worked

              – MacJordan
              yesterday












            • I have done something like this. But i get nothing on the console when i do this stackblitz.com/edit/react-u4rxpr?embed=1&file=index.js ...What am i missing here? @Hardik Virani

              – Tanmoy Sarker
              yesterday












            • not get ur code

              – Hardik Virani
              yesterday











            • Really sorry for that. Here's my code: stackblitz.com/edit/react-62rejg?embed=1&file=index.js @HardikVirani

              – Tanmoy Sarker
              20 hours ago












            • you need to code <NavigationEvents onWillFocus=payload => console.log('will focus', payload) onDidFocus=payload => console.log('did focus',payload) onWillBlur=payload => console.log('will blur',payload) onDidBlur=payload => console.log('did blur',payload) /> inside render return

              – Hardik Virani
              20 hours ago















            4














            Try below code it will help you,



            import NavigationEvents from "react-navigation";


            <NavigationEvents
            onWillFocus=payload => console.log('will focus',payload)
            onDidFocus=payload => console.log('did focus',payload)
            onWillBlur=payload => console.log('will blur',payload)
            onDidBlur=payload => console.log('did blur',payload)
            />


            NavigationEvents component you can added in your render method of page where you want to track event of users, and handle like AsyncStorage and whatever action you want.



            Only add one event if you don't need all



            For more detail you may visit here



            Thank you






            share|improve this answer























            • Look a like simple, great worked

              – MacJordan
              yesterday












            • I have done something like this. But i get nothing on the console when i do this stackblitz.com/edit/react-u4rxpr?embed=1&file=index.js ...What am i missing here? @Hardik Virani

              – Tanmoy Sarker
              yesterday












            • not get ur code

              – Hardik Virani
              yesterday











            • Really sorry for that. Here's my code: stackblitz.com/edit/react-62rejg?embed=1&file=index.js @HardikVirani

              – Tanmoy Sarker
              20 hours ago












            • you need to code <NavigationEvents onWillFocus=payload => console.log('will focus', payload) onDidFocus=payload => console.log('did focus',payload) onWillBlur=payload => console.log('will blur',payload) onDidBlur=payload => console.log('did blur',payload) /> inside render return

              – Hardik Virani
              20 hours ago













            4












            4








            4







            Try below code it will help you,



            import NavigationEvents from "react-navigation";


            <NavigationEvents
            onWillFocus=payload => console.log('will focus',payload)
            onDidFocus=payload => console.log('did focus',payload)
            onWillBlur=payload => console.log('will blur',payload)
            onDidBlur=payload => console.log('did blur',payload)
            />


            NavigationEvents component you can added in your render method of page where you want to track event of users, and handle like AsyncStorage and whatever action you want.



            Only add one event if you don't need all



            For more detail you may visit here



            Thank you






            share|improve this answer













            Try below code it will help you,



            import NavigationEvents from "react-navigation";


            <NavigationEvents
            onWillFocus=payload => console.log('will focus',payload)
            onDidFocus=payload => console.log('did focus',payload)
            onWillBlur=payload => console.log('will blur',payload)
            onDidBlur=payload => console.log('did blur',payload)
            />


            NavigationEvents component you can added in your render method of page where you want to track event of users, and handle like AsyncStorage and whatever action you want.



            Only add one event if you don't need all



            For more detail you may visit here



            Thank you







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered yesterday









            Hardik ViraniHardik Virani

            1,274218




            1,274218












            • Look a like simple, great worked

              – MacJordan
              yesterday












            • I have done something like this. But i get nothing on the console when i do this stackblitz.com/edit/react-u4rxpr?embed=1&file=index.js ...What am i missing here? @Hardik Virani

              – Tanmoy Sarker
              yesterday












            • not get ur code

              – Hardik Virani
              yesterday











            • Really sorry for that. Here's my code: stackblitz.com/edit/react-62rejg?embed=1&file=index.js @HardikVirani

              – Tanmoy Sarker
              20 hours ago












            • you need to code <NavigationEvents onWillFocus=payload => console.log('will focus', payload) onDidFocus=payload => console.log('did focus',payload) onWillBlur=payload => console.log('will blur',payload) onDidBlur=payload => console.log('did blur',payload) /> inside render return

              – Hardik Virani
              20 hours ago

















            • Look a like simple, great worked

              – MacJordan
              yesterday












            • I have done something like this. But i get nothing on the console when i do this stackblitz.com/edit/react-u4rxpr?embed=1&file=index.js ...What am i missing here? @Hardik Virani

              – Tanmoy Sarker
              yesterday












            • not get ur code

              – Hardik Virani
              yesterday











            • Really sorry for that. Here's my code: stackblitz.com/edit/react-62rejg?embed=1&file=index.js @HardikVirani

              – Tanmoy Sarker
              20 hours ago












            • you need to code <NavigationEvents onWillFocus=payload => console.log('will focus', payload) onDidFocus=payload => console.log('did focus',payload) onWillBlur=payload => console.log('will blur',payload) onDidBlur=payload => console.log('did blur',payload) /> inside render return

              – Hardik Virani
              20 hours ago
















            Look a like simple, great worked

            – MacJordan
            yesterday






            Look a like simple, great worked

            – MacJordan
            yesterday














            I have done something like this. But i get nothing on the console when i do this stackblitz.com/edit/react-u4rxpr?embed=1&file=index.js ...What am i missing here? @Hardik Virani

            – Tanmoy Sarker
            yesterday






            I have done something like this. But i get nothing on the console when i do this stackblitz.com/edit/react-u4rxpr?embed=1&file=index.js ...What am i missing here? @Hardik Virani

            – Tanmoy Sarker
            yesterday














            not get ur code

            – Hardik Virani
            yesterday





            not get ur code

            – Hardik Virani
            yesterday













            Really sorry for that. Here's my code: stackblitz.com/edit/react-62rejg?embed=1&file=index.js @HardikVirani

            – Tanmoy Sarker
            20 hours ago






            Really sorry for that. Here's my code: stackblitz.com/edit/react-62rejg?embed=1&file=index.js @HardikVirani

            – Tanmoy Sarker
            20 hours ago














            you need to code <NavigationEvents onWillFocus=payload => console.log('will focus', payload) onDidFocus=payload => console.log('did focus',payload) onWillBlur=payload => console.log('will blur',payload) onDidBlur=payload => console.log('did blur',payload) /> inside render return

            – Hardik Virani
            20 hours ago





            you need to code <NavigationEvents onWillFocus=payload => console.log('will focus', payload) onDidFocus=payload => console.log('did focus',payload) onWillBlur=payload => console.log('will blur',payload) onDidBlur=payload => console.log('did blur',payload) /> inside render return

            – Hardik Virani
            20 hours ago













            0














            You could listeners to the navigation lifecycle events.



            It is fairly straight forward to set up. Here is an example of how to set it up in your screen.



            import React, Component from 'react';
            import View, StyleSheet, Text from 'react-native';

            export default class Screen2 extends React.Component

            // willFocus - the screen will focus
            // didFocus - the screen focused (if there was a transition, the transition completed)
            // willBlur - the screen will be unfocused
            // didBlur - the screen unfocused (if there was a transition, the transition completed)
            componentDidMount ()
            // add listener
            this.willFocusSubscription = this.props.navigation.addListener('willFocus', this.willFocusAction);
            this.didFocusSubscription = this.props.navigation.addListener('didFocus', this.didFocusAction);
            this.willBlurSubscription = this.props.navigation.addListener('willBlur', this.willBlurAction);
            this.didBlurSubscription = this.props.navigation.addListener('didBlur', this.didBlurAction);


            componentWillUmount ()
            // remove listener
            this.willFocusSubscription.remove()
            this.didFocusSubscription.remove();
            this.willBlurSubscription.remove();
            this.didBlurSubscription.remove();


            willBlurAction = () =>
            console.log('willBlur Screen', new Date().getTime())


            didBlurAction = () =>
            console.log('didBlur Screen', new Date().getTime());


            didFocusAction = () =>
            console.log('didFocus Screen', new Date().getTime());


            willFocusAction = () =>
            console.log('willFocus Screen', new Date().getTime());



            render()
            return (
            <View style=styles.container>
            <Text>Screen</Text>
            </View>
            )




            You don't need to add all the listeners, only the ones that you require.
            Most likely you will want to clear your value from AsyncStorage inside the willFocus event. That way it occurs before the screen has come into focus.






            share|improve this answer



























              0














              You could listeners to the navigation lifecycle events.



              It is fairly straight forward to set up. Here is an example of how to set it up in your screen.



              import React, Component from 'react';
              import View, StyleSheet, Text from 'react-native';

              export default class Screen2 extends React.Component

              // willFocus - the screen will focus
              // didFocus - the screen focused (if there was a transition, the transition completed)
              // willBlur - the screen will be unfocused
              // didBlur - the screen unfocused (if there was a transition, the transition completed)
              componentDidMount ()
              // add listener
              this.willFocusSubscription = this.props.navigation.addListener('willFocus', this.willFocusAction);
              this.didFocusSubscription = this.props.navigation.addListener('didFocus', this.didFocusAction);
              this.willBlurSubscription = this.props.navigation.addListener('willBlur', this.willBlurAction);
              this.didBlurSubscription = this.props.navigation.addListener('didBlur', this.didBlurAction);


              componentWillUmount ()
              // remove listener
              this.willFocusSubscription.remove()
              this.didFocusSubscription.remove();
              this.willBlurSubscription.remove();
              this.didBlurSubscription.remove();


              willBlurAction = () =>
              console.log('willBlur Screen', new Date().getTime())


              didBlurAction = () =>
              console.log('didBlur Screen', new Date().getTime());


              didFocusAction = () =>
              console.log('didFocus Screen', new Date().getTime());


              willFocusAction = () =>
              console.log('willFocus Screen', new Date().getTime());



              render()
              return (
              <View style=styles.container>
              <Text>Screen</Text>
              </View>
              )




              You don't need to add all the listeners, only the ones that you require.
              Most likely you will want to clear your value from AsyncStorage inside the willFocus event. That way it occurs before the screen has come into focus.






              share|improve this answer

























                0












                0








                0







                You could listeners to the navigation lifecycle events.



                It is fairly straight forward to set up. Here is an example of how to set it up in your screen.



                import React, Component from 'react';
                import View, StyleSheet, Text from 'react-native';

                export default class Screen2 extends React.Component

                // willFocus - the screen will focus
                // didFocus - the screen focused (if there was a transition, the transition completed)
                // willBlur - the screen will be unfocused
                // didBlur - the screen unfocused (if there was a transition, the transition completed)
                componentDidMount ()
                // add listener
                this.willFocusSubscription = this.props.navigation.addListener('willFocus', this.willFocusAction);
                this.didFocusSubscription = this.props.navigation.addListener('didFocus', this.didFocusAction);
                this.willBlurSubscription = this.props.navigation.addListener('willBlur', this.willBlurAction);
                this.didBlurSubscription = this.props.navigation.addListener('didBlur', this.didBlurAction);


                componentWillUmount ()
                // remove listener
                this.willFocusSubscription.remove()
                this.didFocusSubscription.remove();
                this.willBlurSubscription.remove();
                this.didBlurSubscription.remove();


                willBlurAction = () =>
                console.log('willBlur Screen', new Date().getTime())


                didBlurAction = () =>
                console.log('didBlur Screen', new Date().getTime());


                didFocusAction = () =>
                console.log('didFocus Screen', new Date().getTime());


                willFocusAction = () =>
                console.log('willFocus Screen', new Date().getTime());



                render()
                return (
                <View style=styles.container>
                <Text>Screen</Text>
                </View>
                )




                You don't need to add all the listeners, only the ones that you require.
                Most likely you will want to clear your value from AsyncStorage inside the willFocus event. That way it occurs before the screen has come into focus.






                share|improve this answer













                You could listeners to the navigation lifecycle events.



                It is fairly straight forward to set up. Here is an example of how to set it up in your screen.



                import React, Component from 'react';
                import View, StyleSheet, Text from 'react-native';

                export default class Screen2 extends React.Component

                // willFocus - the screen will focus
                // didFocus - the screen focused (if there was a transition, the transition completed)
                // willBlur - the screen will be unfocused
                // didBlur - the screen unfocused (if there was a transition, the transition completed)
                componentDidMount ()
                // add listener
                this.willFocusSubscription = this.props.navigation.addListener('willFocus', this.willFocusAction);
                this.didFocusSubscription = this.props.navigation.addListener('didFocus', this.didFocusAction);
                this.willBlurSubscription = this.props.navigation.addListener('willBlur', this.willBlurAction);
                this.didBlurSubscription = this.props.navigation.addListener('didBlur', this.didBlurAction);


                componentWillUmount ()
                // remove listener
                this.willFocusSubscription.remove()
                this.didFocusSubscription.remove();
                this.willBlurSubscription.remove();
                this.didBlurSubscription.remove();


                willBlurAction = () =>
                console.log('willBlur Screen', new Date().getTime())


                didBlurAction = () =>
                console.log('didBlur Screen', new Date().getTime());


                didFocusAction = () =>
                console.log('didFocus Screen', new Date().getTime());


                willFocusAction = () =>
                console.log('willFocus Screen', new Date().getTime());



                render()
                return (
                <View style=styles.container>
                <Text>Screen</Text>
                </View>
                )




                You don't need to add all the listeners, only the ones that you require.
                Most likely you will want to clear your value from AsyncStorage inside the willFocus event. That way it occurs before the screen has come into focus.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered yesterday









                AndrewAndrew

                5,77431327




                5,77431327



























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55022606%2fhow-can-i-add-event-on-pressing-tab-bar-in-react-native%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

                    1928 у кіно

                    Захаров Федір Захарович

                    Ель Греко