Bài 8 – AsyncStorage trong React Native

AsyncStorage là thành phần đơn giản dùng để lưu trữ dữ liệu offline. Nó hỗ trợ lưu trữ dữ liệu không mã hóa theo dạng cặp key-value và hỗ trợ bất đồng bộ

Chúng ta có thể lưu dữ liệu độ lớn tùy thuộc vào bộ nhớ của máy do AsyncStorage sẽ tự động sử dụng “Dictionary” hoặc File để lưu giá trị (iOS) hoặc sử dụng RocksDB, Sqlite (Android)

Để sử dụng AsyncStorage chúng ta chỉ cần 2 hàm đơn giản sau :

_storeData = async () => {
  try {
    await AsyncStorage.setItem('TASKS', 'I like to save it.');
  } catch (error) {
    // Error saving data
  }
};

_retrieveData = async () => {   
try {     const value = await AsyncStorage.getItem('TASKS'); 
    if (value !== null) {       
// We have data!!       console.log(value);    
 }   } 
catch (error) {   
  // Error retrieving data   } };

Từ ví dụ trên chúng ta giải thích các câu lệnh như sau :

Cách lưu dữ liệu : AsyncStorage.setItem(‘TASKS’, ‘I like to save it.’)
TASKS là tên key .
‘I like to save it.’ là value – giá trị muốn lưu

Cách lấy dữ liệu : AsyncStorage.getItem(‘TASKS’) .
TASKS là tên key muốn lấy giá trị, nếu không có hàm getItem sẽ trả về null

Bài tập : Sinh viên tạo 1 màn hình Login với 2 TextInput nhập Username và Password. 1 Button Login và 1 checkbox “Nhớ mật khẩu” sử dụng AsyncStorage để lưu tài khoản đã đăng nhập