FrontEngineer JungBam
LocalStorage와 useEffect 본문
const [isLoggedIn, setIsLoggedIn] = useState(false)
useEffect(() => {
const storedUserLoggedInInformation = localStorage.getItem('isLoggedIn')
if (storedUserLoggedInInformation === '1') {
setIsLoggedIn(true)
}
}, [])
useEffect로 로컬스토리지에서 가져온 값을 통해 로그인 인증을 하는 방법
useEffect 내부에서 작업하지 않고 컴포넌트 함수에서 작업을 한다면 내부적으로 로컬스토리지에서 isLoggedIn을 확인하고 setState에 의해서 다시 컴포넌트가 호출되고 다시 로컬스토리지에서 isLoggedin을 확인하고 setState에 의해서 다시 컴포넌트가 호출되는 무한루프에 빠지게 된다. 하지만 이러한 경우를 막는 것이 바로 useEffect의 의존성 배열이다.
반응형
'리액트' 카테고리의 다른 글
useReducer (1) | 2022.11.24 |
---|---|
useEffect를 이용한 debounce, throttle 처리 (0) | 2022.11.24 |
useRef (feat. useState) (0) | 2022.11.23 |
Why 리액트 훅? (0) | 2022.11.22 |
useEffect와 마운트 (1) | 2022.11.22 |
Comments