React Firebase redirection





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







0















When the user is logged in or sign up I want to redirect to the dashboard page
In this case, I'm getting the console that user has signed in or up but the page is not going to dashboard






import { BrowserRouter as Router, Link, Redirect } from "react-router-dom";

//in signin.js
login = e => {
const { email, password } = this.state;
const { router } = this.props;
e.preventDefault();

auth()
.signInWithEmailAndPassword(email, password)
.then(user => {
if (user) {
console.log('user has signed in or up', user);
return <Redirect to='/profile' />;
} else {
console.log('user signed out or still need to sign in', user);
return <Redirect to='/signIn' />;
}
})
.catch(error => {
console.log(e);
});
};

//in App.js

render() {
return (
<Router>
<Route exact path="/" component={SignIn} />
<Route exact path="/signIn" component={SignIn} />
<Route exact path="/signUp" component={SignUp} />
<AuthorizedRoute exact path="/dashboard" component={Profile} />
</Router>
);
}





In sign up I even don't get console message I think it's not necessary to check in signing up if user exist so how can I do in the sign-up






 //in sign up.js
signUp = e => {
const { email, password } = this.state;
e.preventDefault();

auth()
.createUserWithEmailAndPassword(email, password)
.then(user => {
if (user) {
console.log('user has signed in or up', user);
return <Redirect to='/dashboard' />;
} else {
console.log('user signed out or still need to sign in', user);
return <Redirect to='/signIn' />;
}
})
.catch(error => {
console.log(error);
});
};












share|improve this question































    0















    When the user is logged in or sign up I want to redirect to the dashboard page
    In this case, I'm getting the console that user has signed in or up but the page is not going to dashboard






    import { BrowserRouter as Router, Link, Redirect } from "react-router-dom";

    //in signin.js
    login = e => {
    const { email, password } = this.state;
    const { router } = this.props;
    e.preventDefault();

    auth()
    .signInWithEmailAndPassword(email, password)
    .then(user => {
    if (user) {
    console.log('user has signed in or up', user);
    return <Redirect to='/profile' />;
    } else {
    console.log('user signed out or still need to sign in', user);
    return <Redirect to='/signIn' />;
    }
    })
    .catch(error => {
    console.log(e);
    });
    };

    //in App.js

    render() {
    return (
    <Router>
    <Route exact path="/" component={SignIn} />
    <Route exact path="/signIn" component={SignIn} />
    <Route exact path="/signUp" component={SignUp} />
    <AuthorizedRoute exact path="/dashboard" component={Profile} />
    </Router>
    );
    }





    In sign up I even don't get console message I think it's not necessary to check in signing up if user exist so how can I do in the sign-up






     //in sign up.js
    signUp = e => {
    const { email, password } = this.state;
    e.preventDefault();

    auth()
    .createUserWithEmailAndPassword(email, password)
    .then(user => {
    if (user) {
    console.log('user has signed in or up', user);
    return <Redirect to='/dashboard' />;
    } else {
    console.log('user signed out or still need to sign in', user);
    return <Redirect to='/signIn' />;
    }
    })
    .catch(error => {
    console.log(error);
    });
    };












    share|improve this question



























      0












      0








      0








      When the user is logged in or sign up I want to redirect to the dashboard page
      In this case, I'm getting the console that user has signed in or up but the page is not going to dashboard






      import { BrowserRouter as Router, Link, Redirect } from "react-router-dom";

      //in signin.js
      login = e => {
      const { email, password } = this.state;
      const { router } = this.props;
      e.preventDefault();

      auth()
      .signInWithEmailAndPassword(email, password)
      .then(user => {
      if (user) {
      console.log('user has signed in or up', user);
      return <Redirect to='/profile' />;
      } else {
      console.log('user signed out or still need to sign in', user);
      return <Redirect to='/signIn' />;
      }
      })
      .catch(error => {
      console.log(e);
      });
      };

      //in App.js

      render() {
      return (
      <Router>
      <Route exact path="/" component={SignIn} />
      <Route exact path="/signIn" component={SignIn} />
      <Route exact path="/signUp" component={SignUp} />
      <AuthorizedRoute exact path="/dashboard" component={Profile} />
      </Router>
      );
      }





      In sign up I even don't get console message I think it's not necessary to check in signing up if user exist so how can I do in the sign-up






       //in sign up.js
      signUp = e => {
      const { email, password } = this.state;
      e.preventDefault();

      auth()
      .createUserWithEmailAndPassword(email, password)
      .then(user => {
      if (user) {
      console.log('user has signed in or up', user);
      return <Redirect to='/dashboard' />;
      } else {
      console.log('user signed out or still need to sign in', user);
      return <Redirect to='/signIn' />;
      }
      })
      .catch(error => {
      console.log(error);
      });
      };












      share|improve this question
















      When the user is logged in or sign up I want to redirect to the dashboard page
      In this case, I'm getting the console that user has signed in or up but the page is not going to dashboard






      import { BrowserRouter as Router, Link, Redirect } from "react-router-dom";

      //in signin.js
      login = e => {
      const { email, password } = this.state;
      const { router } = this.props;
      e.preventDefault();

      auth()
      .signInWithEmailAndPassword(email, password)
      .then(user => {
      if (user) {
      console.log('user has signed in or up', user);
      return <Redirect to='/profile' />;
      } else {
      console.log('user signed out or still need to sign in', user);
      return <Redirect to='/signIn' />;
      }
      })
      .catch(error => {
      console.log(e);
      });
      };

      //in App.js

      render() {
      return (
      <Router>
      <Route exact path="/" component={SignIn} />
      <Route exact path="/signIn" component={SignIn} />
      <Route exact path="/signUp" component={SignUp} />
      <AuthorizedRoute exact path="/dashboard" component={Profile} />
      </Router>
      );
      }





      In sign up I even don't get console message I think it's not necessary to check in signing up if user exist so how can I do in the sign-up






       //in sign up.js
      signUp = e => {
      const { email, password } = this.state;
      e.preventDefault();

      auth()
      .createUserWithEmailAndPassword(email, password)
      .then(user => {
      if (user) {
      console.log('user has signed in or up', user);
      return <Redirect to='/dashboard' />;
      } else {
      console.log('user signed out or still need to sign in', user);
      return <Redirect to='/signIn' />;
      }
      })
      .catch(error => {
      console.log(error);
      });
      };








      import { BrowserRouter as Router, Link, Redirect } from "react-router-dom";

      //in signin.js
      login = e => {
      const { email, password } = this.state;
      const { router } = this.props;
      e.preventDefault();

      auth()
      .signInWithEmailAndPassword(email, password)
      .then(user => {
      if (user) {
      console.log('user has signed in or up', user);
      return <Redirect to='/profile' />;
      } else {
      console.log('user signed out or still need to sign in', user);
      return <Redirect to='/signIn' />;
      }
      })
      .catch(error => {
      console.log(e);
      });
      };

      //in App.js

      render() {
      return (
      <Router>
      <Route exact path="/" component={SignIn} />
      <Route exact path="/signIn" component={SignIn} />
      <Route exact path="/signUp" component={SignUp} />
      <AuthorizedRoute exact path="/dashboard" component={Profile} />
      </Router>
      );
      }





      import { BrowserRouter as Router, Link, Redirect } from "react-router-dom";

      //in signin.js
      login = e => {
      const { email, password } = this.state;
      const { router } = this.props;
      e.preventDefault();

      auth()
      .signInWithEmailAndPassword(email, password)
      .then(user => {
      if (user) {
      console.log('user has signed in or up', user);
      return <Redirect to='/profile' />;
      } else {
      console.log('user signed out or still need to sign in', user);
      return <Redirect to='/signIn' />;
      }
      })
      .catch(error => {
      console.log(e);
      });
      };

      //in App.js

      render() {
      return (
      <Router>
      <Route exact path="/" component={SignIn} />
      <Route exact path="/signIn" component={SignIn} />
      <Route exact path="/signUp" component={SignUp} />
      <AuthorizedRoute exact path="/dashboard" component={Profile} />
      </Router>
      );
      }





       //in sign up.js
      signUp = e => {
      const { email, password } = this.state;
      e.preventDefault();

      auth()
      .createUserWithEmailAndPassword(email, password)
      .then(user => {
      if (user) {
      console.log('user has signed in or up', user);
      return <Redirect to='/dashboard' />;
      } else {
      console.log('user signed out or still need to sign in', user);
      return <Redirect to='/signIn' />;
      }
      })
      .catch(error => {
      console.log(error);
      });
      };





       //in sign up.js
      signUp = e => {
      const { email, password } = this.state;
      e.preventDefault();

      auth()
      .createUserWithEmailAndPassword(email, password)
      .then(user => {
      if (user) {
      console.log('user has signed in or up', user);
      return <Redirect to='/dashboard' />;
      } else {
      console.log('user signed out or still need to sign in', user);
      return <Redirect to='/signIn' />;
      }
      })
      .catch(error => {
      console.log(error);
      });
      };






      javascript reactjs firebase routes firebase-authentication






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 16 '18 at 14:11









      Frank van Puffelen

      245k29389416




      245k29389416










      asked Nov 16 '18 at 12:24









      JohnJohn

      205




      205
























          2 Answers
          2






          active

          oldest

          votes


















          0














          What redirection you are using? The code is not clear to answer the question right now.



          res.redirect("/user/add");



          You can use this method also based on the response.






          share|improve this answer
























          • I'm using react router redirection import { BrowserRouter as Router, Link, Redirect } from "react-router-dom";

            – John
            Nov 16 '18 at 13:02





















          0














          From the code provided, after a successful signIn, your Redirect URL should be '/dashboard' rather than '/profile'.



          Your signUp function should produce some console output. If it's really not, that would mean the function isn't being (successfully) called.



          Rather than using redirection in signing In/Up promises, a better approach is to use a single 'authentication state observer' using onAuthStateChanged that will respond to your sign In/Up/Out events and redirects accordingly. (See the Firebase guide on this topic: Get Started with Firebase Authentication on Websites) With this observer in place, your signInWithEmailAndPassword and createUserWithEmailAndPassword calls need only handle error responses.






          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%2f53337876%2freact-firebase-redirection%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









            0














            What redirection you are using? The code is not clear to answer the question right now.



            res.redirect("/user/add");



            You can use this method also based on the response.






            share|improve this answer
























            • I'm using react router redirection import { BrowserRouter as Router, Link, Redirect } from "react-router-dom";

              – John
              Nov 16 '18 at 13:02


















            0














            What redirection you are using? The code is not clear to answer the question right now.



            res.redirect("/user/add");



            You can use this method also based on the response.






            share|improve this answer
























            • I'm using react router redirection import { BrowserRouter as Router, Link, Redirect } from "react-router-dom";

              – John
              Nov 16 '18 at 13:02
















            0












            0








            0







            What redirection you are using? The code is not clear to answer the question right now.



            res.redirect("/user/add");



            You can use this method also based on the response.






            share|improve this answer













            What redirection you are using? The code is not clear to answer the question right now.



            res.redirect("/user/add");



            You can use this method also based on the response.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Nov 16 '18 at 12:49









            LazyCoderLazyCoder

            85




            85













            • I'm using react router redirection import { BrowserRouter as Router, Link, Redirect } from "react-router-dom";

              – John
              Nov 16 '18 at 13:02





















            • I'm using react router redirection import { BrowserRouter as Router, Link, Redirect } from "react-router-dom";

              – John
              Nov 16 '18 at 13:02



















            I'm using react router redirection import { BrowserRouter as Router, Link, Redirect } from "react-router-dom";

            – John
            Nov 16 '18 at 13:02







            I'm using react router redirection import { BrowserRouter as Router, Link, Redirect } from "react-router-dom";

            – John
            Nov 16 '18 at 13:02















            0














            From the code provided, after a successful signIn, your Redirect URL should be '/dashboard' rather than '/profile'.



            Your signUp function should produce some console output. If it's really not, that would mean the function isn't being (successfully) called.



            Rather than using redirection in signing In/Up promises, a better approach is to use a single 'authentication state observer' using onAuthStateChanged that will respond to your sign In/Up/Out events and redirects accordingly. (See the Firebase guide on this topic: Get Started with Firebase Authentication on Websites) With this observer in place, your signInWithEmailAndPassword and createUserWithEmailAndPassword calls need only handle error responses.






            share|improve this answer




























              0














              From the code provided, after a successful signIn, your Redirect URL should be '/dashboard' rather than '/profile'.



              Your signUp function should produce some console output. If it's really not, that would mean the function isn't being (successfully) called.



              Rather than using redirection in signing In/Up promises, a better approach is to use a single 'authentication state observer' using onAuthStateChanged that will respond to your sign In/Up/Out events and redirects accordingly. (See the Firebase guide on this topic: Get Started with Firebase Authentication on Websites) With this observer in place, your signInWithEmailAndPassword and createUserWithEmailAndPassword calls need only handle error responses.






              share|improve this answer


























                0












                0








                0







                From the code provided, after a successful signIn, your Redirect URL should be '/dashboard' rather than '/profile'.



                Your signUp function should produce some console output. If it's really not, that would mean the function isn't being (successfully) called.



                Rather than using redirection in signing In/Up promises, a better approach is to use a single 'authentication state observer' using onAuthStateChanged that will respond to your sign In/Up/Out events and redirects accordingly. (See the Firebase guide on this topic: Get Started with Firebase Authentication on Websites) With this observer in place, your signInWithEmailAndPassword and createUserWithEmailAndPassword calls need only handle error responses.






                share|improve this answer













                From the code provided, after a successful signIn, your Redirect URL should be '/dashboard' rather than '/profile'.



                Your signUp function should produce some console output. If it's really not, that would mean the function isn't being (successfully) called.



                Rather than using redirection in signing In/Up promises, a better approach is to use a single 'authentication state observer' using onAuthStateChanged that will respond to your sign In/Up/Out events and redirects accordingly. (See the Firebase guide on this topic: Get Started with Firebase Authentication on Websites) With this observer in place, your signInWithEmailAndPassword and createUserWithEmailAndPassword calls need only handle error responses.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 19 '18 at 16:13









                MurrayRMurrayR

                1




                1






























                    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%2f53337876%2freact-firebase-redirection%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

                    Bressuire

                    Vorschmack

                    Quarantine