Use the useLiveQuery hook in a couple more places (#1061)

This commit is contained in:
Jed Fox
2023-05-25 16:50:55 -04:00
committed by GitHub
parent 0d2d861896
commit 6253aaa015
5 changed files with 16 additions and 38 deletions

View File

@@ -82,7 +82,7 @@ export default function NotesButton({
}: NotesButtonProps) {
let [hover, setHover] = useState(false);
let tooltip = useTooltip();
let { data } = useLiveQuery(
let data = useLiveQuery(
useMemo(() => q('notes').filter({ id }).select('*'), [id]),
);
let note = data && data.length > 0 ? data[0].note : null;

View File

@@ -1,25 +1,11 @@
import React, { createContext, useEffect, useState, useContext } from 'react';
import React, { createContext, useContext } from 'react';
import q, { liveQuery } from 'loot-core/src/client/query-helpers';
import q from 'loot-core/src/client/query-helpers';
import { useLiveQuery } from 'loot-core/src/client/query-hooks';
import { getAccountsById } from 'loot-core/src/client/reducers/queries';
export function useAccounts() {
let [data, setData] = useState(null);
useEffect(() => {
let query = liveQuery(q('accounts').select('*'), async accounts => {
if (query) {
setData(accounts);
}
});
return () => {
query.unsubscribe();
query = null;
};
}, []);
return data;
return useLiveQuery(q('accounts').select('*'));
}
let AccountsContext = createContext(null);

View File

@@ -1,25 +1,11 @@
import React, { createContext, useEffect, useState, useContext } from 'react';
import React, { createContext, useContext } from 'react';
import q, { liveQuery } from 'loot-core/src/client/query-helpers';
import q from 'loot-core/src/client/query-helpers';
import { useLiveQuery } from 'loot-core/src/client/query-hooks';
import { getPayeesById } from 'loot-core/src/client/reducers/queries';
export function usePayees() {
let [data, setData] = useState([]);
useEffect(() => {
let query = liveQuery(q('payees').select('*'), async payees => {
if (query) {
setData(payees);
}
});
return () => {
query.unsubscribe();
query = null;
};
}, []);
return data;
return useLiveQuery(q('payees').select('*'));
}
let PayeesContext = createContext(null);

View File

@@ -90,5 +90,5 @@ export function useLiveQuery(query, opts?) {
};
}, [query]);
return { data };
return data;
}

View File

@@ -0,0 +1,6 @@
---
category: Maintenance
authors: [j-f1]
---
Use the `useLiveQuery` hook in a couple more places