[REACTJS] react.js에 localStorage를 경청하는 방법
REACTJSreact.js에 localStorage를 경청하는 방법
해결법
-
1.모질라의 웹 API 문서 당 변경이 스토리지 오브젝트 될 때마다 해고 가져옵니다 StorageEvent있다.
모질라의 웹 API 문서 당 변경이 스토리지 오브젝트 될 때마다 해고 가져옵니다 StorageEvent있다.
나는 변경이 특정의 로컬 스토리지 항목으로 이루어진 때마다 터질 것 내 응용 프로그램 내에서 Alert 구성 요소를 만들었습니다. 당신이 실행하는 데 나는 코드를 추가 한 것입니다하지만 당신은 때문에 출처 간 문제에 통한 액세스하지 로컬 스토리지를 할 수 있습니다.
class Alert extends React.Component { constructor(props) { super(props) this.agree = this.agree.bind(this) this.disagree = this.disagree.bind(this) this.localStorageUpdated = this.localStorageUpdated.bind(this) this.state = { status: null } } componentDidMount() { if (typeof window !== 'undefined') { this.setState({status: localStorage.getItem('localstorage-status') ? true : false}) window.addEventListener('storage', this.localStorageUpdated) } } componentWillUnmount(){ if (typeof window !== 'undefined') { window.removeEventListener('storage', this.localStorageUpdated) } } agree(){ localStorage.setItem('localstorage-status', true) this.updateState(true) } disagree(){ localStorage.setItem('localstorage-status', false) this.updateState(false) } localStorageUpdated(){ if (!localStorage.getItem('localstorage-status')) { this.updateState(false) } else if (!this.state.status) { this.updateState(true) } } updateState(value){ this.setState({status:value}) } render () { return( !this.state.status ? <div class="alert-wrapper"> <h3>The Good Stuff</h3> <p>Blah blah blah</p> <div class="alert-button-wrap"> <button onClick={this.disagree}>Disagree</button> <button onClick={this.agree}>Agree</button> </div> </div> : null ) } }
-
2.이 질문에 걸림돌 누군가를 위해, 대답은 여기에서 찾을 수 있습니다 "방식을 변경 로컬 스토리지에 듣는"합니다 : https://developer.mozilla.org/en-US/docs/Web/API/StorageEvent
이 질문에 걸림돌 누군가를 위해, 대답은 여기에서 찾을 수 있습니다 "방식을 변경 로컬 스토리지에 듣는"합니다 : https://developer.mozilla.org/en-US/docs/Web/API/StorageEvent
from https://stackoverflow.com/questions/43313372/how-to-listen-to-localstorage-in-react-js by cc-by-sa and MIT license
'REACTJS' 카테고리의 다른 글
[REACTJS] JSX에서 렌더링 할 객체의 배열을 통해지도 : JS 반응 (0) | 2020.11.10 |
---|---|
[REACTJS] - 만들기 - 앱 반작용 생산 빌드에서 프록시 (0) | 2020.11.10 |
[REACTJS] ReactJS에서 내보내기 (기본값) 클래스 (0) | 2020.11.10 |
[REACTJS] 방법은 JSX 코드 내부 표현하는 경우 포함 하는가? (0) | 2020.11.10 |
[REACTJS] 후크 반응 - 수정 된 상태는 즉시 반영하지 (0) | 2020.11.10 |