Chức năng của bộ mục React Native Async Storage
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
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
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ã .