2017-09-19 1 views
-1

나는 반응과 환원제를 가진 신청이있다.쿠키를 들으려면 redux 저장소를 만드는 방법은 무엇입니까?

쿠키를 듣기 위해 내 redux 상점을 만들고 싶습니다.

쿠키가 만료 될 때마다 특정 시간이 지나면 해당 저장 값을 업데이트하는 작업을 디스패치하고 싶습니다.

예 : 사용자가 사이트에 로그인 할 때마다 하나의 인증 토큰을 생성하고이를 쿠키에 저장하고 만료 시간을 2 시간으로 설정한다고 가정 해보십시오. 2 시간이 완료되면

, 나는 감속기 그래서 내가 할 수있는이

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

처럼 보일 수 있습니다 거짓

에 REDUX 데이터를 저장 "IsAuthenticated는"을 업데이트하는 행동을 파견 할 쿠키를들을뿐만 아니라

setInterval을 사용 을 시도 할 수 진리 즉 REDUX 저장소의 단일 소스를 가지고, 나는 가용성 오프 쿠키 그러나 그 의지를 볼 수 있습니다 해결 방법이 될 수 있습니다.

이것을 달성하기위한 비용 절감 방법이 있습니까?

+0

쿠키 만료 또는 값 변경을위한 이벤트 또는 콜백이 없습니다. SetInterval이 유일한 옵션 인 것 같습니다. – Fawaz

+0

downvoter downvoting 뒤에 이유를 공유 할 수 있습니까? – rider

답변

0

isAuthenticated을 true로 지정하면의 Redux 내에 datetime 값을 저장하는 대신, 이 새로운 redux 값을 현재 시간 + 2 시간으로 설정하십시오.

그런 다음 현재 isAuthenticated을 확인하는 중 어디에서든지 다음과 같은 새 기능을 확인합니다.

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

예 .. 그게 요점은 무엇입니까. 계속 확인하고 싶지 않습니다. 인증. 쿠키가 만료 될 때마다 내 redux 저장소가 자동으로 업데이트되기를 원합니다. – rider

+0

게시 한 답변의 전체 내용을 읽었습니까? – gravityplanx

+0

isAUthenticated가 true로 설정되고 sessionValidUntil이 일정 시간으로 설정되어 있다고 가정합니다. 이제 모든 구성 요소가 이미 렌더링되고 구성 요소가 업데이트되지 않습니다. 값을 (reduxState.isAuthenticated && new Date() rider