Firebase에서 보내는 Asyncstore 경고는 getReactNativePersistence를 통해 해결할 수 있습니다

expo의Firestore를 이용해서 다음과 같은 경고가 나왔습니다. 곤란합니다.
Warning: Async Storage has been extracted from react-native core
and will be removed in a future release. It can now be installed
and imported from '@react-native-community/async-storage' 
instead of 'react-native'. See https://github.com/react-native-community/react-native-async-storage
[email protected] 이상이면 억제하는 방법이 있어요.

방법


추가getReactNativePersistence되어서 이걸 이용했어요.
  • https://firebase.google.com/docs/reference/js/auth.md#getreactnativepersistence
  • import { getApp, getApps, initializeApp } from "firebase/app"
    import { getAuth, initializeAuth } from "firebase/auth"
    import AsyncStorage from "@react-native-async-storage/async-storage"
    import { getReactNativePersistence } from 'firebase/auth/react-native'
    
    const initalizeFirebase = () => {
      const app = initializeApp(FIREBASE_CONFIG)
      
      // ↓この設定を追加
      initializeAuth(app, {
        persistence: getReactNativePersistence(AsyncStorage)
      })
    }
    
    
    사용자가 로그아웃됩니까?이런 것도 생각해 봤지만 최소한 시도만 해보면 특별히 말소되는 현상은 발견되지 않았다

    Jest 실패


    그러나 유감스럽게도 이 설정에 가입하면 Jest에서 다음과 같은 오류가 발생할 수 있다SyntaxError: Unexpected token export모크 커버 방법도 있지만 가입jest-node-exports-resolver이 더 쉬울 것 같아요.
    $ yarn add -D jest-node-exports-resolver
    
    config는 다음에 설명한 대로 추가 해결
    // jest.config.js
    module.exports = {
      //...
      resolver: 'jest-node-exports-resolver',
      // ...
    }
    

    참고 자료

  • https://github.com/firebase/firebase-js-sdk/issues/1847#issuecomment-1041548028
  • https://github.com/firebase/firebase-admin-node/issues/1465#issuecomment-949053266
  • 좋은 웹페이지 즐겨찾기