Chức năng của bộ mục React Native Async Storage

Nov 03 2020

Tôi đang sử dụng bộ nhớ không đồng bộ trong ứng dụng danh sách mặt hàng của mình. Vấn đề mà tôi đang gặp phải là, mục đầu tiên của tôi không được lưu trữ trong bộ không đồng bộ cho đến khi tôi nhập mục thứ hai. Tôi đang lưu mảng các đối tượng với sự trợ giúp của các móc phản ứng Ví dụ: nếu tôi nhập các mục là 1) Táo 2) Chuối thì chỉ táo sẽ được lưu trong không đồng bộ trong khi chuối sẽ không được lưu cho đến khi tôi nhập mục thứ ba.

const [getWant, setwant] = useState([]);

const saveData = async () => {
      AsyncStorage.clear()
       try {
        await AsyncStorage.setItem("@pantry102", JSON.stringify(getWant))
         console.log(getWant)
         alert('Data successfully saved')
       } catch (e) {
         alert('Failed to save the data to the storage')
       }
     }
const readData = async () => {
        try {
          const userData= await AsyncStorage.getItem("@pantry102")
          const userData2 = JSON.parse(userData)
          if (userData2 !== null) {
            console.log(userData2)
            setwant(userData2)
            
          }
        } catch (e) {
        alert('Failed to fetch the data from storage')
        }
      }
useEffect(() => {
      readData()
      }, [])

hàm saveData được gọi bên trong additems fucntion được gọi khi hộp văn bản được gửi

Trả lời

1 xdeepakv Nov 10 2020 at 19:51

Bạn đã quên chờ xóa dữ liệu. Nó cũng không đồng bộ trong tự nhiên.

await AsyncStorage.clear()

const saveData = async () => {
  try {
    await AsyncStorage.clear();
    await AsyncStorage.setItem("@pantry102", JSON.stringify(getWant));
    console.log(getWant);
    alert("Data successfully saved");
  } catch (e) {
    alert("Failed to save the data to the storage");
  }
};

Tôi sẽ đề nghị, chỉ cần ghi đè nó. Không cần thanh minh.

Đọc thêm: https://react-native-async-storage.github.io/async-storage/docs/api#clear

:-D

rufeng Nov 04 2020 at 10:03

Có một thư viện nguồn mở react -native-easy-app , gói gọn việc sử dụng AsyncStorage, qua đó bạn có thể truy cập đồng bộ bất kỳ dữ liệu nào trong AsncStorage, có thể nó sẽ giải quyết được vấn đề của bạn, có chương trình mẫu bên dưới, bạn có thể tham khảo nó. mã .