2017-09-16 8 views
0

私は問題なく何らかのデータを保存するためにwindow.localstorageを使用していましたが、データはセッション間で持続していました。ブラウザを閉じるとクッキーは削除されますか?

次のように私は、コード、「クッキーを反応させる」を使用して、クッキーの使用に切り替えることにしました:

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: '/' }); 
    } 
} 

を私はブラウワーを閉じて、それを開くがあれば、持続する設定値「setToken」と呼ぶ場合再びデータが失われることになります。機能をレンダリング

私のルートは、Webページ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> 
+0

シークレットモードになっていないか、ブラウザをそのように設定していない限り、Cookieは自動的に削除されません。いずれにしても、プログラミングを使用してこの問題をどのように解決すると思いますか? – Nisarg

答えて

3

デフォルトのクッキーの有効期間は、「セッション」です。 maxAgeを設定する必要があります。

this.cookies.set(Auth.STORAGE_KEY, token, 
       { path: '/', maxAge: 31536000 }); 

秒単位です。

+0

完璧で、期待どおりに動作します。 私はあなたのものを「回答」とマークすることになります。迅速な答えをありがとう! – tweetypi

関連する問題