AsyncStorage를 사용하여 집을 배열에 저장하려고합니다. 각 배열 요소는 집 개체를 나타냅니다. 그리고 각 집 객체에는 위도, 경도 및 집 번호가 있습니다. 나는 이것을 어떻게 표현할 지 잘 모릅니다. AsyncStorage는 프로그래밍 방식으로 업데이트 할 수있는 동적 객체를 저장하는 데 적합하지 않습니다. 더 많은 주택을 추가하고 일부 주택을 지우고 싶습니다. 기본적으로 내가하려고하는 것은 사용자가 클릭 할 때 일부 주택을 북마크에 추가하고 북마크에서 삭제하는 것입니다. 아무도 도와 줄 수 있습니까?React Native AsyncStorage
0
A
답변
2
AsyncStorage는 이것에 절대적으로 적합합니다.
주택 ()의 구조로 시작하여 개별 주택을 나타내는 개체를 저장하는 배열을 만들 것입니다. 당신이 AsyncStorage
에 컬렉션을 기록 할 때 AsyncStorage에 저장
const houses = [
{
number: 1,
latitude: 51.5033,
longitude: -0.119519
}
]
,이 같은 할 것 :
AsyncStorage
.setItem('@houses', JSON.stringify(houses))
.then(houses => console.log(houses)
static setItem(key: string, value: string, callback?: ?(error: ?Error) => void)
또한 경우 async/await
을 사용할 수 있습니다 프로젝트가 프로젝트를 지원하도록 설정되었습니다. 당신은 당신과 같이하십시오 당신의 상태에서 응답을하시기 바랍니다 설정할 수
AsyncStorage
.getItem('@houses')
.then(houses => console.log(JSON.parse(houses)))
:를 통해 AsyncStorage
에서 다시 컬렉션을 읽기
AsyncStorage에서 읽기
간단하게 이루어집니다.
특정 집
삭제이 앱을 위로 설정하는 방법에 전적으로 의존한다. 각 주택을 통해 map
에 갈 예정이며 예를 들어 목록 구성 요소를 만드시겠습니까? 이 경우 (오른쪽 테두리를 잃고 죄송)
, 당신은 할 수 :
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>
));
그런 다음 그것을 처리하는 deleteHouse
기능을 만들 수 있습니다.
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);
}
마지막으로 saveHouses
을 AsyncStorage에 다시 동기화하십시오. 이 기능은 AsyncStorage를 지우고 새 주택을 저장합니다.
const saveHouses =() => {
const { houses } = state;
AsyncStorage
.removeItem('@houses')
.then(() => {
AsyncStorage
.setItem('@houses', JSON.stringify(houses))
.then(houses => console.log(houses)
});
}
0
Realm과 같은 Sqlite 대안이 필요합니다. 무료이며 빠르고 쉽게 코딩 할 수 있으므로 필요에 따라 수천 시간의 작업 시간을 절약하고 쿼리를 생성하고 업데이트하고 삭제할 수 있습니다.
관련 문제
- 1. AsyncStorage React Native 배열 저장
- 2. AsyncStorage (react-native) 란 무엇입니까?
- 3. React Native AsyncStorage : 키가있는 배열로 푸시
- 4. React Native - AsyncStorage 항목 중첩 키 값을 업데이트 하시겠습니까?
- 5. React Native - 새로운 AsyncStorage 키에 새 항목을 푸시할까요?
- 6. React와 React-Native 결합하기
- 7. React-Native-Meteor 업데이트 React-Native 0.33
- 8. React Native socket.io says
- 9. React Native
- 10. React-native : 장치 메모리에 데이터 저장
- 11. AsyncStorage from React Native에서 상품 가져 오기
- 12. React Native에서 AsyncStorage 변수를 초기화하는 방법은 무엇입니까?
- 13. React 네이티브 AsyncStorage : Promise 객체에서 값 액세스
- 14. React/React Native 글로벌 범위
- 15. React Native : React Navigation 문제
- 16. React/React-Native Refs [고정]
- 17. React native 및 redux가 작동하지 않음
- 18. React-Native-Video가 create-react-native-app에서 작동하지 않습니까?
- 19. React Native : ADB 문제 : create-react-native-app
- 20. React Native + react-native-oauth로 Firebase Auth 구현
- 21. react-native-router-flux에서 react-native-side-menu를 사용하는 방법?
- 22. React-Native RTC보기 오버랩
- 23. defaultProps in React Native?
- 24. React-Native Audiostreaming
- 25. React Native APK 출시
- 26. Android Studio/React Native
- 27. getElementById react-native
- 28. React Native setState
- 29. React-native 플렉스 높이
- 30. React-native Navigation
내가 0으로 질문을 위로 upvoted : 그것은 텍스트의 벽이지만, 나는 그것이 AsyncStorage가 RN 워드 프로세서에 문서화 된 방법을 주어진 스마트 질문입니다 생각합니다. 문자열을 저장해야하지만 실제로 문자열을 문자열 화하고 업데이트 된 필드를 병합 할 수 있습니다. AsyncStorage.mergeItem()을 참조하십시오. 귀하의 질문에 대한 답변도 매우 잘 진행되었습니다. – agm1984