2017-09-19 16 views
-1

私は反応と還元を伴うアプリケーションを持っています。クッキーを聞くために還元店を作る方法?

私はレミックスストアをクッキーを聞くようにしたいです。

クッキーが期限切れになると、一定期間後、対応するストア値も更新するアクションをディスパッチしたいと思います。

例: ユーザーがサイトにログインするたびに、1つの認証トークンが生成されているとし、Cookieに保存して有効期限を2時間に設定するとします。

2時間が完了すると、私はReduxのストアのデータを更新するアクションを派遣したい「にisAuthenticated」偽

に私ができるように、減速機がこの

export const user(state ={}, action) 
{ 
    case "cookie_expired": 
    return {...state, isAuthenticated: false} 
} 

のように見えるかもしれません同様にクッキーを聞くことができる真理すなわち再来店の単一のソース

がするsetIntervalを使用し を試してみましたが、私はクッキーをオフ可用性が、その意志を見ることができます回避策になります。

これを実現するための方法はありますか?

+0

クッキーの有効期限や値の変更には、イベントまたはコールバックが組み込まれていません。 SetIntervalが唯一の選択肢のようです。 – Fawaz

+0

downvoterはdownvotingの背後にある理由を分かち合うことができますか? – rider

答えて

0

isAuthenticatedをtrueに設定した時点で、代わりにのRedux内に日時の値を保存します。この新しいredux値を現在の時間+ 2時間に設定します。

次に、現在isAuthenticatedをチェックしている場合は、このような新しい機能をチェックします。

(reduxState) => { 
    return (reduxState.isAuthenticated && new Date() < reduxState.sessionValidUntil); 
} 
+0

ええ.. thats何が全体のポイントですかisAuthenticatedをチェックし続けたいです。 クッキーが期限切れになると、私はreduxストアが自動的に更新されるようにします – rider

+0

投稿した回答の全体を読んだことがありますか? – gravityplanx

+0

は、isAUtenticatedがtrueに設定され、sessionValidUntilがしばらく設定されているとします。 すべてのコンポーネントが既にレンダリングされており、コンポーネントが更新されていません。 (reduxState.isAuthenticated && new Date() rider

関連する問題