Check for cookie and log the result in React












1















I want to check if a cookie exists and if not I want to give the cookie auth a false value. If the cookie is false I want to redirect to / and if the cookie is true it should redirect to /home. Because I can not seem to get it working I removed the redirect and changed it to console.log("value"); so that I can see if it is working.



checkLogin() {
var AuthCookie = localStorage.getItem("auth");

if (AuthCookie === null) {
console.log("null");
localStorage.setItem("auth", false);
}

if (AuthCookie === false) {
console.log("false");
}
else if (AuthCookie === true) {
console.log("true");
}
else {
console.log("AuthCookie is neither false or true");
}
}


There is no output in the console with this code and I do not know why.





I want to store data locally, in this case it is a login page, but this is just to test the storing of the data.



import React, {Component} from 'react';
import ReactDOM from 'react-dom';
import { Redirect, Router } from 'react-router-dom';
import * as serviceWorker from './serviceWorker';
import Routes from './inc/routes';
import Navbar from './components/parts/navbar';

class Loader extends Component {
checkLogin() {
var AuthCookie = localStorage.getItem("auth");
if (AuthCookie === null) {
console.log("null");
localStorage.setItem("auth", false);
}

if (AuthCookie === false) {
console.log("false");
}
else if (AuthCookie === true) {
console.log("true");
}
else {
console.log("AuthCookie is neither false or true");
}
}

render() {
this.checkLogin();
return (
<div>
<Navbar />
<Routes />
</div>
);
}
}
ReactDOM.render(<Loader />, document.getElementById('root'));




Console now gives me AuthCookie is neither false or true, but when I look at application and localstorage it says that auth is false. Console shows no other errors or warnings.










share|improve this question




















  • 1





    how and when are you calling checkLogin

    – Shubham Khatri
    Nov 19 '18 at 13:03






  • 2





    localStorage !== cookies. what you are trying to do?

    – Dekel
    Nov 19 '18 at 13:10











  • This code will always log something, providing checkLogin is being called, and that there are no errors. So: are there any errors in the console? Are you sure checkLogin is being called? (You don't show us any code which calls it.)

    – Robin Zigmond
    Nov 19 '18 at 13:20











  • @Dekel sorry, you are right. I first tried it with a cookie, but now am trying with localstorage.

    – Jeff
    Nov 19 '18 at 13:54
















1















I want to check if a cookie exists and if not I want to give the cookie auth a false value. If the cookie is false I want to redirect to / and if the cookie is true it should redirect to /home. Because I can not seem to get it working I removed the redirect and changed it to console.log("value"); so that I can see if it is working.



checkLogin() {
var AuthCookie = localStorage.getItem("auth");

if (AuthCookie === null) {
console.log("null");
localStorage.setItem("auth", false);
}

if (AuthCookie === false) {
console.log("false");
}
else if (AuthCookie === true) {
console.log("true");
}
else {
console.log("AuthCookie is neither false or true");
}
}


There is no output in the console with this code and I do not know why.





I want to store data locally, in this case it is a login page, but this is just to test the storing of the data.



import React, {Component} from 'react';
import ReactDOM from 'react-dom';
import { Redirect, Router } from 'react-router-dom';
import * as serviceWorker from './serviceWorker';
import Routes from './inc/routes';
import Navbar from './components/parts/navbar';

class Loader extends Component {
checkLogin() {
var AuthCookie = localStorage.getItem("auth");
if (AuthCookie === null) {
console.log("null");
localStorage.setItem("auth", false);
}

if (AuthCookie === false) {
console.log("false");
}
else if (AuthCookie === true) {
console.log("true");
}
else {
console.log("AuthCookie is neither false or true");
}
}

render() {
this.checkLogin();
return (
<div>
<Navbar />
<Routes />
</div>
);
}
}
ReactDOM.render(<Loader />, document.getElementById('root'));




Console now gives me AuthCookie is neither false or true, but when I look at application and localstorage it says that auth is false. Console shows no other errors or warnings.










share|improve this question




















  • 1





    how and when are you calling checkLogin

    – Shubham Khatri
    Nov 19 '18 at 13:03






  • 2





    localStorage !== cookies. what you are trying to do?

    – Dekel
    Nov 19 '18 at 13:10











  • This code will always log something, providing checkLogin is being called, and that there are no errors. So: are there any errors in the console? Are you sure checkLogin is being called? (You don't show us any code which calls it.)

    – Robin Zigmond
    Nov 19 '18 at 13:20











  • @Dekel sorry, you are right. I first tried it with a cookie, but now am trying with localstorage.

    – Jeff
    Nov 19 '18 at 13:54














1












1








1








I want to check if a cookie exists and if not I want to give the cookie auth a false value. If the cookie is false I want to redirect to / and if the cookie is true it should redirect to /home. Because I can not seem to get it working I removed the redirect and changed it to console.log("value"); so that I can see if it is working.



checkLogin() {
var AuthCookie = localStorage.getItem("auth");

if (AuthCookie === null) {
console.log("null");
localStorage.setItem("auth", false);
}

if (AuthCookie === false) {
console.log("false");
}
else if (AuthCookie === true) {
console.log("true");
}
else {
console.log("AuthCookie is neither false or true");
}
}


There is no output in the console with this code and I do not know why.





I want to store data locally, in this case it is a login page, but this is just to test the storing of the data.



import React, {Component} from 'react';
import ReactDOM from 'react-dom';
import { Redirect, Router } from 'react-router-dom';
import * as serviceWorker from './serviceWorker';
import Routes from './inc/routes';
import Navbar from './components/parts/navbar';

class Loader extends Component {
checkLogin() {
var AuthCookie = localStorage.getItem("auth");
if (AuthCookie === null) {
console.log("null");
localStorage.setItem("auth", false);
}

if (AuthCookie === false) {
console.log("false");
}
else if (AuthCookie === true) {
console.log("true");
}
else {
console.log("AuthCookie is neither false or true");
}
}

render() {
this.checkLogin();
return (
<div>
<Navbar />
<Routes />
</div>
);
}
}
ReactDOM.render(<Loader />, document.getElementById('root'));




Console now gives me AuthCookie is neither false or true, but when I look at application and localstorage it says that auth is false. Console shows no other errors or warnings.










share|improve this question
















I want to check if a cookie exists and if not I want to give the cookie auth a false value. If the cookie is false I want to redirect to / and if the cookie is true it should redirect to /home. Because I can not seem to get it working I removed the redirect and changed it to console.log("value"); so that I can see if it is working.



checkLogin() {
var AuthCookie = localStorage.getItem("auth");

if (AuthCookie === null) {
console.log("null");
localStorage.setItem("auth", false);
}

if (AuthCookie === false) {
console.log("false");
}
else if (AuthCookie === true) {
console.log("true");
}
else {
console.log("AuthCookie is neither false or true");
}
}


There is no output in the console with this code and I do not know why.





I want to store data locally, in this case it is a login page, but this is just to test the storing of the data.



import React, {Component} from 'react';
import ReactDOM from 'react-dom';
import { Redirect, Router } from 'react-router-dom';
import * as serviceWorker from './serviceWorker';
import Routes from './inc/routes';
import Navbar from './components/parts/navbar';

class Loader extends Component {
checkLogin() {
var AuthCookie = localStorage.getItem("auth");
if (AuthCookie === null) {
console.log("null");
localStorage.setItem("auth", false);
}

if (AuthCookie === false) {
console.log("false");
}
else if (AuthCookie === true) {
console.log("true");
}
else {
console.log("AuthCookie is neither false or true");
}
}

render() {
this.checkLogin();
return (
<div>
<Navbar />
<Routes />
</div>
);
}
}
ReactDOM.render(<Loader />, document.getElementById('root'));




Console now gives me AuthCookie is neither false or true, but when I look at application and localstorage it says that auth is false. Console shows no other errors or warnings.







javascript reactjs






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 19 '18 at 14:32







Jeff

















asked Nov 19 '18 at 13:00









Jeff Jeff

8310




8310








  • 1





    how and when are you calling checkLogin

    – Shubham Khatri
    Nov 19 '18 at 13:03






  • 2





    localStorage !== cookies. what you are trying to do?

    – Dekel
    Nov 19 '18 at 13:10











  • This code will always log something, providing checkLogin is being called, and that there are no errors. So: are there any errors in the console? Are you sure checkLogin is being called? (You don't show us any code which calls it.)

    – Robin Zigmond
    Nov 19 '18 at 13:20











  • @Dekel sorry, you are right. I first tried it with a cookie, but now am trying with localstorage.

    – Jeff
    Nov 19 '18 at 13:54














  • 1





    how and when are you calling checkLogin

    – Shubham Khatri
    Nov 19 '18 at 13:03






  • 2





    localStorage !== cookies. what you are trying to do?

    – Dekel
    Nov 19 '18 at 13:10











  • This code will always log something, providing checkLogin is being called, and that there are no errors. So: are there any errors in the console? Are you sure checkLogin is being called? (You don't show us any code which calls it.)

    – Robin Zigmond
    Nov 19 '18 at 13:20











  • @Dekel sorry, you are right. I first tried it with a cookie, but now am trying with localstorage.

    – Jeff
    Nov 19 '18 at 13:54








1




1





how and when are you calling checkLogin

– Shubham Khatri
Nov 19 '18 at 13:03





how and when are you calling checkLogin

– Shubham Khatri
Nov 19 '18 at 13:03




2




2





localStorage !== cookies. what you are trying to do?

– Dekel
Nov 19 '18 at 13:10





localStorage !== cookies. what you are trying to do?

– Dekel
Nov 19 '18 at 13:10













This code will always log something, providing checkLogin is being called, and that there are no errors. So: are there any errors in the console? Are you sure checkLogin is being called? (You don't show us any code which calls it.)

– Robin Zigmond
Nov 19 '18 at 13:20





This code will always log something, providing checkLogin is being called, and that there are no errors. So: are there any errors in the console? Are you sure checkLogin is being called? (You don't show us any code which calls it.)

– Robin Zigmond
Nov 19 '18 at 13:20













@Dekel sorry, you are right. I first tried it with a cookie, but now am trying with localstorage.

– Jeff
Nov 19 '18 at 13:54





@Dekel sorry, you are right. I first tried it with a cookie, but now am trying with localstorage.

– Jeff
Nov 19 '18 at 13:54












2 Answers
2






active

oldest

votes


















0














Are you sure AuthCookie is null, perhaps it is undefined, although we can not know without showing where it is assigned to localStorage initially.



Try to work backwards when debugging, so start by console logging AuthCookie when calling the function so you can be sure it is assigned the value you expect. Otherwise go further back to where it is being assigned to localStorage and check the value there. We can not know for sure with the code provided but id say the value is not what you think it is.






share|improve this answer































    0














    So I made 3 mistakes, first was if (AuthCookie === null), this should be undefined. The second mistake is that var AuthCookie is not updated after if (AuthCookie === undefined) so AuthCookie is not being updated to the new value. The last mistake is that the value should be in "" so (AuthCookie === "false").



    The correct code working now:



    var AuthCookie = localStorage.getItem("auth");
    if (AuthCookie === undefined) {
    console.log("null");
    localStorage.setItem("auth", false);
    }

    var AuthCookie = localStorage.getItem("auth");

    if (AuthCookie === "false") {
    console.log("false");
    }
    else if (AuthCookie === "true") {
    console.log("true");
    }
    else {
    console.log("The cookie is set, but can't be read or has a different value");
    }





    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%2f53375228%2fcheck-for-cookie-and-log-the-result-in-react%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














      Are you sure AuthCookie is null, perhaps it is undefined, although we can not know without showing where it is assigned to localStorage initially.



      Try to work backwards when debugging, so start by console logging AuthCookie when calling the function so you can be sure it is assigned the value you expect. Otherwise go further back to where it is being assigned to localStorage and check the value there. We can not know for sure with the code provided but id say the value is not what you think it is.






      share|improve this answer




























        0














        Are you sure AuthCookie is null, perhaps it is undefined, although we can not know without showing where it is assigned to localStorage initially.



        Try to work backwards when debugging, so start by console logging AuthCookie when calling the function so you can be sure it is assigned the value you expect. Otherwise go further back to where it is being assigned to localStorage and check the value there. We can not know for sure with the code provided but id say the value is not what you think it is.






        share|improve this answer


























          0












          0








          0







          Are you sure AuthCookie is null, perhaps it is undefined, although we can not know without showing where it is assigned to localStorage initially.



          Try to work backwards when debugging, so start by console logging AuthCookie when calling the function so you can be sure it is assigned the value you expect. Otherwise go further back to where it is being assigned to localStorage and check the value there. We can not know for sure with the code provided but id say the value is not what you think it is.






          share|improve this answer













          Are you sure AuthCookie is null, perhaps it is undefined, although we can not know without showing where it is assigned to localStorage initially.



          Try to work backwards when debugging, so start by console logging AuthCookie when calling the function so you can be sure it is assigned the value you expect. Otherwise go further back to where it is being assigned to localStorage and check the value there. We can not know for sure with the code provided but id say the value is not what you think it is.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 19 '18 at 13:11









          Jayyf9Jayyf9

          512




          512

























              0














              So I made 3 mistakes, first was if (AuthCookie === null), this should be undefined. The second mistake is that var AuthCookie is not updated after if (AuthCookie === undefined) so AuthCookie is not being updated to the new value. The last mistake is that the value should be in "" so (AuthCookie === "false").



              The correct code working now:



              var AuthCookie = localStorage.getItem("auth");
              if (AuthCookie === undefined) {
              console.log("null");
              localStorage.setItem("auth", false);
              }

              var AuthCookie = localStorage.getItem("auth");

              if (AuthCookie === "false") {
              console.log("false");
              }
              else if (AuthCookie === "true") {
              console.log("true");
              }
              else {
              console.log("The cookie is set, but can't be read or has a different value");
              }





              share|improve this answer




























                0














                So I made 3 mistakes, first was if (AuthCookie === null), this should be undefined. The second mistake is that var AuthCookie is not updated after if (AuthCookie === undefined) so AuthCookie is not being updated to the new value. The last mistake is that the value should be in "" so (AuthCookie === "false").



                The correct code working now:



                var AuthCookie = localStorage.getItem("auth");
                if (AuthCookie === undefined) {
                console.log("null");
                localStorage.setItem("auth", false);
                }

                var AuthCookie = localStorage.getItem("auth");

                if (AuthCookie === "false") {
                console.log("false");
                }
                else if (AuthCookie === "true") {
                console.log("true");
                }
                else {
                console.log("The cookie is set, but can't be read or has a different value");
                }





                share|improve this answer


























                  0












                  0








                  0







                  So I made 3 mistakes, first was if (AuthCookie === null), this should be undefined. The second mistake is that var AuthCookie is not updated after if (AuthCookie === undefined) so AuthCookie is not being updated to the new value. The last mistake is that the value should be in "" so (AuthCookie === "false").



                  The correct code working now:



                  var AuthCookie = localStorage.getItem("auth");
                  if (AuthCookie === undefined) {
                  console.log("null");
                  localStorage.setItem("auth", false);
                  }

                  var AuthCookie = localStorage.getItem("auth");

                  if (AuthCookie === "false") {
                  console.log("false");
                  }
                  else if (AuthCookie === "true") {
                  console.log("true");
                  }
                  else {
                  console.log("The cookie is set, but can't be read or has a different value");
                  }





                  share|improve this answer













                  So I made 3 mistakes, first was if (AuthCookie === null), this should be undefined. The second mistake is that var AuthCookie is not updated after if (AuthCookie === undefined) so AuthCookie is not being updated to the new value. The last mistake is that the value should be in "" so (AuthCookie === "false").



                  The correct code working now:



                  var AuthCookie = localStorage.getItem("auth");
                  if (AuthCookie === undefined) {
                  console.log("null");
                  localStorage.setItem("auth", false);
                  }

                  var AuthCookie = localStorage.getItem("auth");

                  if (AuthCookie === "false") {
                  console.log("false");
                  }
                  else if (AuthCookie === "true") {
                  console.log("true");
                  }
                  else {
                  console.log("The cookie is set, but can't be read or has a different value");
                  }






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Nov 22 '18 at 11:24









                  Jeff Jeff

                  8310




                  8310






























                      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%2f53375228%2fcheck-for-cookie-and-log-the-result-in-react%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







                      這個網誌中的熱門文章

                      Xamarin.form Move up view when keyboard appear

                      Post-Redirect-Get with Spring WebFlux and Thymeleaf

                      Anylogic : not able to use stopDelay()