How to avoid getting error 'localStorage is not defined' on server in ReactJS isomorphic app?
You could use a check whether the code is being executed on the server or on the client side by checking whether module is not 'undefined'
:
var isNode = typeof module !== 'undefined'
You can then proceed to only executed this code on the client side:
if(!isNode){ //use the local storage var myItem = localStorage.getItem(itemTitle)}
However, you should already always check whether Storage
is defined before using since not all browsers support it:
if(typeof(Storage) !== "undefined"){ //use the local storage}
Standard has specific support for problems like this.
All you need to do is add a comment informing standard that there is a variable provided by the global scope.
// MyStuff.js/* global localStorage */// Use localStorage below with no linter errors