I've been using window.localstorage to save some data without problem, the data was persisting between sessions.
I decided to switch to using cookies, using 'react-cookie', code as follows:
import Cookies from 'react-cookie';
export default class Auth {
static STORAGE_KEY: string = "token";
static cookies = new Cookies();
public static getToken() {
var toRet = this.cookies.get(Auth.STORAGE_KEY);
return toRet;
}
public static setToken(token: string) {
this.cookies.set(Auth.STORAGE_KEY, token, { path: '/' });
}
public static removeToken(): void {
this.cookies.remove(Auth.STORAGE_KEY, { path: '/' });
}
}
If I call 'setToken' the value set persists, however if I close the brower and open it again that data is lost.
My root render function has the cookies provider as per the webpage https://www.npmjs.com/package/react-cookie:
import { CookiesProvider } from 'react-cookie';
export class Layout extends React.Component<{}, {}> {
public render() {
return <CookiesProvider> ( some stuff ) </CookiesProvider>
The default cookie lifetime is “session”. You should set a maxAge
:
this.cookies.set(Auth.STORAGE_KEY, token,
{ path: '/', maxAge: 31536000 });
It’s in seconds.