Ich möchte Häuser in einem Array mit AsyncStorage speichern. Jedes Array-Element repräsentiert ein Hausobjekt. Und jedes Hausobjekt hat eine Breite, eine Länge und eine Hausnummer. Ich bin mir nicht sicher, wie ich das darstellen soll. Es scheint mir, dass AsyncStorage nicht geeignet ist, dynamische Objekte zu speichern, die programmgesteuert aktualisiert werden können. Ich möchte in der Lage sein, weitere Häuser hinzuzufügen und einige Häuser zu löschen. Im Grunde versuche ich, einige Häuser zu markieren und sie aus den Lesezeichen zu löschen, wenn der Benutzer klickt. Kann jemand helfen?Native AsyncStorage reagieren
Antwort
AsyncStorage ist absolut perfekt dafür.
Beginnend mit der Struktur Ihrer Häuser, würde ich ein Array erstellen, die Objekte speichert, die ein einzelnes Haus darstellen.
const houses = [
{
number: 1,
latitude: 51.5033,
longitude: -0.119519
}
]
Speichern auf AsyncStorage
Wenn Sie Ihre Sammlung AsyncStorage
schreiben wollen, würden Sie so tun, wie folgt:
AsyncStorage
.setItem('@houses', JSON.stringify(houses))
.then(houses => console.log(houses)
static setItem(key: string, value: string, callback?: ?(error: ?Error) => void)
Sie auch async/await
verwenden können, wenn Ihr Projekt ist darauf ausgerichtet, es zu unterstützen.
von AsyncStorage Lesen
Ihre Sammlung von AsyncStorage
Rücklesen wird einfach über getan:
AsyncStorage
.getItem('@houses')
.then(houses => console.log(JSON.parse(houses)))
Sie die Antwort in Ihrem Zustand einstellen könnten, wie Sie bitte.
ein bestimmtes Haus Löschen
Das hängt ganz davon ab, wie Sie Ihre App einrichten. Gehst du zu map
durch jedes Haus und erstelle eine Listenkomponente zum Beispiel?
(Sorry über die Grenze auf der rechten Seite zu verlieren)
Wenn ja, könnten Sie:
houses.map(house => (
<View>
<Text>Number: {house.number}</Text>
<Text>Latitude: {house.latitude}</Text>
<Text>Longitude: {house.longitude</Text>
<Button onPress={() => this.deleteHouse(house.number)}/>
</View>
));
Dann erstellen Sie eine deleteHouse
Funktion, die damit umgehen wird.
const deleteHouse = (number) => {
const { houses } = this.state; // Assuming you set state as previously mentioned
const newHouses = houses.filter((house) => house.number != number);
this.setState({houses: newHouses},() => saveHouses);
}
Und schließlich ein saveHouses
es zurück zu AsyncStorage zu synchronisieren. Die Funktion löscht AsyncStorage und speichert dann die neuen Häuser.
const saveHouses =() => {
const { houses } = state;
AsyncStorage
.removeItem('@houses')
.then(() => {
AsyncStorage
.setItem('@houses', JSON.stringify(houses))
.then(houses => console.log(houses)
});
}
Sie benötigen eine SQLite-Alternative wie Realm, es ist kostenlos, schnell und einfach zu programmieren, mit dieser werden Sie Tonnen von Stunden Arbeit sparen, auch wenn Sie benötigen, können Sie Abfragen, aktualisieren und löschen Sie Objekte.
- 1. AsyncStorage reagieren Native Sitzung
- 2. Reagieren native AsyncStorage Update-Details in Telefon
- 3. AsyncStorage Wischen in reagieren nativen
- 4. AsyncStorage - Fehler (Native Reaktion)
- 5. AsyncStorage funktioniert nicht ordnungsgemäß mit reagieren native auf Android
- 6. React-Native Update AsyncStorage Artikel
- 7. React Native: Ladewert von AsyncStorage
- 8. reagieren nativ - DatePickerIOS mit AsyncStorage
- 9. React Native AsyncStorage Speicherort und verwenden Sie
- 10. Native AsyncStorage reagiert nicht auf Daten
- 11. AsyncStorage React Native ein Array speichern
- 12. Wie groß ist AsyncStorage in Native React?
- 13. React-Native Authentifizierung Anmeldung mit Token AsyncStorage
- 14. Reagieren india AsyncStorage holt Daten nach
- 15. Redux Usecase in reagieren native Anwendung
- 16. Wie reagieren native Storages? Base Principes
- 17. AsyncStorage nicht speichern ein Element in reagieren native nach http Erfolgsantwort
- 18. So cachen Sie API-Daten mit AsyncStorage Reagieren Sie auf Native
- 19. Bestes Muster zum Speichern und Laden von MobX-Store auf Native AsyncStorage reagieren?
- 20. Reagieren native navigation Registerkarte Logout-Funktion
- 21. Native Opening Native Maps reagieren
- 22. Reagieren + Reagieren Native Starter-Kit
- 23. reagieren native Meteor vs reagieren native und Ruhe api
- 24. reagieren-native-Navigation mit reagieren-native-Wache ios
- 25. reagieren-native und reagieren-native-fbsdk bauen nicht
- 26. reagieren native swiper Bild-Array
- 27. Reagieren Native modal Animationsgeschwindigkeit
- 28. reagieren-native SectionList scrollTo
- 29. Native Fullscreen reagieren
- 30. Native Navigationsgeste reagieren
ich upvoted Ihre Frage auf Null zurück :) Es ist eine Wand des Textes ist, aber ich denke, es ist eine kluge Frage gegeben, wie AsyncStorage in der RN-Dokumentation dokumentiert. Sie müssen Strings speichern, aber Sie können sie tatsächlich stringifizieren und aktualisierte Felder zusammenführen, siehe 'AsyncStorage.mergeItem()'. Die Antwort auf Ihre Frage ist auch sehr gut gemacht. – agm1984