Я использую indexeddb для хранения данных и использую useReducer () для обработки действий.
, но я не уверен, что вызов функции asyn c непосредственно в компоненте реагирования является правильным.
спасибо
function Component({ dispatch }) {
function pushToast() {
const id = uniqid();
dispatch({ type: "PUSH_TOAST", payload: { id, content: "success" } });
setTimeout(() => dispatch({ type: "CLEAR_TOAST", payload: { id } }) , 3000);
}
async function getDocs() {
try {
const result = await idb.getDocs();
dispatch({ type: "REQUEST_SUCCESS", payload: result });
pushToast();
} catch (error) {
dispatch({ type: "REQUEST_FAIL" });
}
}
return (
<div>
<button onClick={getDocs}></button>
</div>
);
}