2016-11-03 6 views
3

렌더링이 발생하기 전에 현재 sessionStorage를 저장하려고합니다.Initiliaze 및 React에서 sessionStorage 사용?

componentWillMount() { 
     sessionStorage.setItem("isUserLogged", false); 
    } 

그것을 sessionStorage이 정의되지 않은 오류의 원인 :

내 코드는 다음과 같은 것입니다. 렌더링하기 전에 React에서 sessionStorage을 어떻게 초기화합니까?

+2

window.sessionStorage.setItem 시도 ("키", " 값"); –

+0

@Kartik_Agarwal 방금 시도한'window'가 정의되지 않았습니다 –

+0

당신은 서버 측 렌더 링이나 클라이언트 측을 사용하고 있습니까? –

답변

4

서버 측 렌더링을 사용할 때 SessionStorage를 사용할 수 없습니다 (사용자가 모의 수 있지만 사용자가 데이터를 사용할 수 없음).

스토리지 사용에서 항목을 검색하려면

window.sessionStorage.setItem("key", "value"); 

그것은 단지 브라우저에서 스토리지에 대한 글을 쓰는 https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage

예 사용할 수

window.sessionStorage.getItem("key"); 
+3

이것은 오래된 질문이지만 구성 요소가 마운트되었을 때 sessionStorage가 작동 함을 지적 할 수 있습니다. 이것이 바로'sessionStorage'가 정의되는 순간입니다. –

+0

답변은 정확하며 클라이언트 측에서만 사용할 수 있습니다. 그러나 위의 질문에 올바르게 대답하려면 IMO가 componentDidMount ...에서이를 활용할 수 있음을 나타내야합니다. 이는 React 구성 요소가 완전한 클라이언트 측 인 경우에 발생합니다. 사용하려는 패턴은 기본 설정으로 상태 변수를 초기화 한 다음 구성 요소가 마운트 된 후 세션 정보로 업데이트합니다. – engineerDave

관련 문제