在React Native中,我想在每次输入文本框时使用唯一id存储对象数组数据。我正在使用异步存储,但不知道如何处理。
你可以这样实现
第一次运行
npm i @react-native-async-storage/async-storage
然后创建一个AsyncStore.js或类似的文件:
import AsyncStorage from '@react-native-async-storage/async-storage';
export const storeObject = async (object) => {
const id = await createId()
const identified = {...object, id }
const jsonValue = JSON.stringify(identified);
await AsyncStorage.setItem('@object-' + id, jsonValue);
};
export const getObject = async (id) => {
const storedObject = await AsyncStorage.getItem('@object-' + id);
if (storedObject){
return JSON.parse(storedObject );
}
};
export const storeIds = async (ids) => {
const jsonValue = JSON.stringify(ids);
await AsyncStorage.setItem('@object-ids', jsonValue);
};
export const getIds = async (id, ids) => {
const storedIds = await AsyncStorage.getItem('@object-ids');
if (storedIds) {
return JSON.parse(storedIds );
}
};
const createId = async() => {
const ids = await getIds();
const id = Math.max(ids) + 1
await storeIds([...ids,id])
return id;
}
编辑:我添加了一些未经测试的唯一标识码