React アプリケーションで Spotify トークンを 1 時間ごとに更新する必要があります (Spotify トークンは 1 時間有効です)。次のメソッドでは useEffect フックと setInteral
が使用されていることがわかりました。useEffect(() => { const 間隔 = setInterval(() => { // APIロジックを呼び出す }、3600); return () =>clearInterval(間隔); }, [ユーザー])しかし、アプリを閉じて再度開くと、(古いトークンがまだ有効であっても) トークンを取得するための新しいリクエストが再度作成されます。そこで、残りの有効期限に基づいて新しいトークンを取得するために API 呼び出しを必要とする機能を実装しようとしています。この機能の実装方法。
経過時間後の残りの有効期限を計算する関数も作成しました
export const CalculateRemainingExpirationTime = ExpirationTime => { const currentTime = new Date().getTime(); const newExpirationTime = 新しい日付(有効期限).getTime() const 残り時間 = newExpirationTime - 現在の時間 return RemainingTime; //ミリ秒単位 };ページがリロードされたら、残りの有効期限を計算し、その時間に基づいて API を呼び出し、その後 1 時間ごとに API を呼び出して新しいトークンを取得する必要があります。
次の関数を実装する必要があります
- ページがリロードされると、残り時間を計算し、残り時間に基づいて API を呼び出します
- 1 時間ごとに API を呼び出す
を保存する必要があります。 リーリー リーリー有効期限
をlocalStorage
に永続化するか、Redux-persist
を使用して