Cách xóa cảnh báo AsyncStorage khi sử dụng Firebase JS SDK với React Native
Firebase JS SDK là một thư viện cung cấp một tập hợp các API JavaScript để tương tác với các dịch vụ Firebase. Tôi sử dụng nó với một số ứng dụng React Native sản xuất được xây dựng với Expo, chủ yếu để xác thực, cơ sở dữ liệu và lưu trữ. Tôi cũng sử dụng nó cho một mẫu mã nguồn mở mà tôi hiện đang duy trì có tên [expo-firebase-stater], cung cấp một khởi đầu thuận lợi khi xây dựng ứng dụng React Native với Firebase.
Đối với các ứng dụng React Native, SDK Firebase sử dụng AsyncStorage để lưu trữ phiên xác thực khi một ứng dụng khởi động lại. Đó là một trong những tính năng có sẵn mà Firebase cung cấp mà tôi thích và sử dụng khi triển khai xác thực trong các ứng dụng React Native bằng dịch vụ Firebase Auth.
Tại sao cảnh báo AsyncStorage xảy ra
Thông thường, mô-đun Firebase Auth được định cấu hình như hình bên dưới trong ứng dụng React Native:
import { initializeApp } from 'firebase/app'; import { getAuth } from 'firebase/auth'; const app = initializeApp(firebaseConfig); const auth = getAuth(app);
Việc sử dụng đoạn mã này để khởi chạy dịch vụ xác thực Firebase trong ứng dụng sẽ gây ra cảnh báo:
AsyncStorage has been extracted from the react-native core and will be removed...
SDK Firebase sử dụng mô-đun AsyncStorage từ React Native. Từ phiên bản React Native 0.59 trở lên, mô-đun AsyncStorage đã được chuyển sang gói riêng của nó: @ react-native-async-storage / async-storage. Đây là dòng mã trong kho lưu trữ SDK Firebase JS để nhập AsyncStorage từ React Native:
import AsyncStorage from '@react-native-async-storage/async-storage';
Xóa cảnh báo AsyncStorage
Để loại bỏ cảnh báo AsyncStorage, hãy bắt đầu bằng cách cài đặt gói @react-native-async-storage /async-storage:
expo install @react-native-async-storage/async-storage
SDK Firebase cung cấp một phương thức khác trong mô-đun Auth có tên là initializeAuth. Phương thức này cho phép kiểm soát nhiều hơn cá thể Auth từ phương thức getAuth. Ngoài ra, nó cung cấp một cách để xác định lớp bền vững nào sẽ sử dụng để lưu trữ phiên xác thực bằng cách sử dụng phương thức getReactNativePersistence và sử dụng Sự phụ thuộc nào. Vì chúng tôi đang sử dụng dịch vụ xác thực Firebase trong ứng dụng React Native, chúng tôi có thể sử dụng React Native Dependency.
Bắt đầu bằng cách nhập initializeAuth và getReactNativePersistence từ firebase / auth / react-native. Để khởi tạo auth, hãy truyền một đối tượng làm đối số thứ hai cho phương thức khởi tạo Auth. Đối tượng này có một khóa bền vững nhận giá trị của lớp bền vững sẽ sử dụng.
import AsyncStorage from '@react-native-async-storage/async-storage'; import { initializeApp } from 'firebase/app'; import { initializeAuth, getReactNativePersistence } from 'firebase/auth/react-native'; // add firebase config here // initialize firebase app const app = initializeApp(firebaseConfig); // initialize auth const auth = initializeAuth(app, { persistence: getReactNativePersistence(AsyncStorage) }); export { auth };