Fix useAsync
This commit is contained in:
parent
bbf3b864e7
commit
d9902702db
@ -30,14 +30,10 @@ export async function join(key: string): Promise<boolean> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export async function get(key: string): Promise<Edition | null> {
|
export async function get(key: string): Promise<Edition | null> {
|
||||||
try {
|
const response = await axios.get<EditionDTO>(prepare(EDITION_INFO_ENDPOINT, { key }));
|
||||||
const response = await axios.get<EditionDTO>(prepare(EDITION_INFO_ENDPOINT, { key }));
|
const dto = response.data;
|
||||||
const dto = response.data;
|
|
||||||
|
|
||||||
return editionDtoTransformer.transform(dto);
|
return editionDtoTransformer.transform(dto);
|
||||||
} catch (error) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function current(): Promise<Edition> {
|
export async function current(): Promise<Edition> {
|
||||||
|
@ -40,8 +40,10 @@ export function useAsync<T, TError = any>(supplier: Promise<T> | (() => Promise<
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (typeof supplier === "function") {
|
if (typeof supplier === "function") {
|
||||||
setPromise(supplier());
|
setPromise(supplier());
|
||||||
|
} else {
|
||||||
|
setPromise(supplier);
|
||||||
}
|
}
|
||||||
}, [])
|
}, [ supplier ])
|
||||||
|
|
||||||
return {
|
return {
|
||||||
isLoading,
|
isLoading,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { Page } from "@/pages/base";
|
import { Page } from "@/pages/base";
|
||||||
import React from "react";
|
import React, { useCallback } from "react";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import { Box, Button, CircularProgress, Container, Typography } from "@material-ui/core";
|
import { Box, Button, CircularProgress, Container, Typography } from "@material-ui/core";
|
||||||
import { Actions } from "@/components";
|
import { Actions } from "@/components";
|
||||||
@ -15,7 +15,7 @@ import { EditionActions, useDispatch, UserActions } from "@/state/actions";
|
|||||||
|
|
||||||
export const PickEditionPage = () => {
|
export const PickEditionPage = () => {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const { value: editions, isLoading } = useAsync(() => api.edition.available());
|
const { value: editions, isLoading } = useAsync(useCallback(() => api.edition.available(), []));
|
||||||
|
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
const history = useHistory();
|
const history = useHistory();
|
||||||
|
Loading…
Reference in New Issue
Block a user