feat(catalog/swr): simplify the code significantly. now we are talking. this library is the nutz
This commit is contained in:
@@ -61,21 +61,15 @@ const useStyles = makeStyles(theme => ({
|
||||
|
||||
export const CatalogPage: FC<{}> = () => {
|
||||
const catalogApi = useApi(catalogApiRef);
|
||||
const {
|
||||
starredEntities,
|
||||
toggleStarredEntity,
|
||||
isStarredEntity,
|
||||
} = useStarredEntities();
|
||||
const { toggleStarredEntity, isStarredEntity } = useStarredEntities();
|
||||
|
||||
const [selectedFilter, setSelectedFilter] = useState<CatalogFilterItem>(
|
||||
defaultFilter,
|
||||
);
|
||||
|
||||
const { data: entities, error, revalidate } = useStaleWhileRevalidate(
|
||||
['catalog', entityFilters[selectedFilter.id]],
|
||||
async (_, filter) => {
|
||||
return await catalogApi.getEntities();
|
||||
},
|
||||
{ compare: () => false },
|
||||
const { data: entities, error } = useStaleWhileRevalidate(
|
||||
['catalog/all', entityFilters[selectedFilter.id]],
|
||||
async () => catalogApi.getEntities(),
|
||||
);
|
||||
|
||||
const data =
|
||||
@@ -83,12 +77,6 @@ export const CatalogPage: FC<{}> = () => {
|
||||
entityFilters[selectedFilter.id](e, { isStarred: isStarredEntity(e) }),
|
||||
) ?? [];
|
||||
|
||||
const revalidator = starredEntities.size || {};
|
||||
|
||||
useEffect(() => {
|
||||
revalidate();
|
||||
}, [revalidate, revalidator]);
|
||||
|
||||
const onFilterSelected = useCallback(
|
||||
selected => setSelectedFilter(selected),
|
||||
[],
|
||||
|
||||
Reference in New Issue
Block a user