Только что начал работать с indexedDB, мне нужно временное решение для хранения пользовательских журналов. Для работы я использую библиотеку IDB. Поэтому я создал магазин, и когда пользователь начинает работать с платежами, я сохраняю все его действия в виде журнала. Платежи делятся на несколько этапов, на каждом этапе пользователь заполняет обязательные поля. Я уже создал базу данных и вот как я устанавливаю начальные данные в магазине.
export async function addUserLogs() {
const obj = {
id: 0, // unique: true
serviceID: 0,
terminalID: 0,
accountNumber: 0,
price: 0,
};
const db = await InitDb();
const tx = db.transaction('userLogs', 'readwrite');
const store = tx.objectStore('userLogs');
store.put(obj);
await tx.done;
}
Я собираюсь передать эту функциюко всем «шаговым» компонентам для записи / обновления данных. Проблема в том, что я понятия не имею, как отслеживать текущий ключ и изменять этот объект. И как добавить данные, не переопределяя весь объект. Так, например: на первом шаге мне нужно просто установить значение «цена». Как передать аргумент этому функционалу без переопределения начального объекта, а когда он перейдет к следующему шагу (другому компоненту), сохранить primaryKey этого объекта?