2016-10-14 9 views
2

私はReactアプリにAuth情報を含むストアを持っています。 authはJWTトークンから派生したものです。状態を伝播する際に知っているアクションに依存MobXで観測可能な値を微調整する方法はありますか?

class AuthStore { 
    @observable token = cookies('api_token'); 
    @computed get loggedIn() { 
    if (!this.token) { 
     return false; 
    } 
    return jwt_expires_in(this.token) > 60; 
    } 
} 

MobX:ストアは、そのトークンが既に満了していない場合は認証ストアも一種の以下のように、トークンを持っているし、かどうかを確認するloggedInと呼ばれる@observable値を持っていますアプリケーションの周りを変更しますが、loggedIn()の結果はユーザーの操作のためではなく、単純に時間の経過とともに変化します。

私は、この値がどのようにユーザーのやりとりなしで伝播するのか、アプリケーションが期限切れの認証に適切に応答できるように、一定の間隔で「ナッジ」する方法を考えています。

答えて

2

次のようにすればいいですか?

class AuthStore { constructor() { setTimeout(() => this.token = null, calc-time-to-expire + 60*1000) } }

そうでなければ、別の値で時間を満了する格納、及び一定の間隔でそれを更新します。例: @observable expires_in = 0およびsetInterval(() => this.expiresIn = token ? 0 : jwt_expires(token), 1000)

関連する問題