[React Native Expo] 로컬 스토리지 (local storage)

JS/React Native Expo · 2024. 1. 24. 17:20
728x90

https://docs.expo.dev/versions/latest/sdk/securestore/

 

SecureStore

A library that provides a way to encrypt and securely store key-value pairs locally on the device.

docs.expo.dev

 

expo버전에는 로컬스토리지 기능을 expo에서 자체지원한다

expo secure store라고 보안이 높고 안전하게 저장하는 방식이다

그래서 보통 리프레시토큰을 이쪽에 저장한다.

npx expo install expo-secure-store

일단 라이브러리 설치해주고

// app.json

"expo": {
    "ios": {
      "config": {
        "usesNonExemptEncryption": false
      }
      ...
    }
  }

 

app.json쪽에 설정해준다음

import * as SecureStore from "expo-secure-store";

const [Token, setToken] = useState(null);

//앱실행시 호출
useEffect(() => {
  getUserData();
}, []);

//데이터 가져오기
async function getUserData() {
  let token = await SecureStore.getItemAsync("token");
  if (token) {
    setToken(token);
  }
}

// 데이터 입력하기
const insertToken = () => {
  SecureStore.setItemAsync("token", "토큰값 입력");
  console.log("입력");
};

이렇게 컴포넌트에서 키 : 값 형태로 스토리지에 저장한걸 꺼내 쓸 수 있다.

728x90
Copyright © Nana
levup