IndexedDB 数据库遍历
const readTableData = async (TableName) => {
try {
const db = await openDB(DB_NAME, DB_VERSION);
console.log(db,"db")
const tx = db.transaction(TableName, 'readonly');
const store = tx.objectStore(TableName);
const items = await store.getAll();
console.log(`${
TableName}的数据:`, items);
return items;
} catch (error) {
console.error(`读取${
TableName}数据时出错:`, error);
return [];
}
};
const readAllDBData = async () => {
try {
const db = await openDB(DB_NAME, DB_VERSION);
const tableNames = await db.objectStoreNames;
for (const v of tableNames) {
const items = await readTableData(v);
console.log(`${
v}的数据:`, items);
}
return null;
} catch (error) {
console.error(`读取数据时出错:`, error);
return [];
}
};
完整React代码
import React, {
useState } from 'react';
import {
openDB } from 'idb';
const DB_NAME = 'yourDBName';
const DB_VERSION = 1;
function App() {
const [data, setData] = useState([]);
const readTableData = async (TableName) => {