As the error says, localStorage.getItem()
can return either a string or null
. JSON.parse()
requires a string, so you should test the result of localStorage.getItem()
before you try to use it.
For example:
this.currentUser = JSON.parse(localStorage.getItem('currentUser') || '{}');
or perhaps:
const userJson = localStorage.getItem('currentUser'); this.currentUser = userJson !== null ? JSON.parse(userJson) : new User();
See also the answer from Willem De Nys. If you are confident that the localStorage.getItem()
call can never return null
you can use the non-null assertion operator to tell typescript that you know what you are doing:
this.currentUser = JSON.parse(localStorage.getItem('currentUser')!);
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/605420c3a33450508bd105f9