@@ -7,15 +7,15 @@ import { Uuid4Query } from "../services"
|
|||||||
export function Uuid4QueryService() {
|
export function Uuid4QueryService() {
|
||||||
const runSync = R.useRunSync()
|
const runSync = R.useRunSync()
|
||||||
|
|
||||||
const { state, refresh } = R.useMemo(() => Uuid4Query.Uuid4Query, [])
|
const query = R.useMemo(() => Uuid4Query.Uuid4Query, [])
|
||||||
const [queryState] = R.useRefState(state)
|
const [state] = R.useRefState(query.state)
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Container>
|
<Container>
|
||||||
<Flex direction="column" align="center" gap="2">
|
<Flex direction="column" align="center" gap="2">
|
||||||
<Text>
|
<Text>
|
||||||
{AsyncData.match(queryState, {
|
{AsyncData.match(state, {
|
||||||
NoData: () => "No data yet",
|
NoData: () => "No data yet",
|
||||||
Loading: () => "Loading...",
|
Loading: () => "Loading...",
|
||||||
Success: (value, { isRefreshing, isOptimistic }) =>
|
Success: (value, { isRefreshing, isOptimistic }) =>
|
||||||
@@ -25,7 +25,7 @@ export function Uuid4QueryService() {
|
|||||||
})}
|
})}
|
||||||
</Text>
|
</Text>
|
||||||
|
|
||||||
<Button onClick={() => runSync(refresh)}>Refresh</Button>
|
<Button onClick={() => runSync(query.refresh)}>Refresh</Button>
|
||||||
</Flex>
|
</Flex>
|
||||||
</Container>
|
</Container>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ const Result = Schema.Tuple(Schema.String)
|
|||||||
function RouteComponent() {
|
function RouteComponent() {
|
||||||
const runSync = R.useRunSync()
|
const runSync = R.useRunSync()
|
||||||
|
|
||||||
const { state, refresh } = R.useQuery({
|
const query = R.useQuery({
|
||||||
query: () => Console.log("Querying...").pipe(
|
query: () => Console.log("Querying...").pipe(
|
||||||
Effect.andThen(Effect.sleep("500 millis")),
|
Effect.andThen(Effect.sleep("500 millis")),
|
||||||
Effect.andThen(HttpClient.get("https://www.uuidtools.com/api/generate/v4")),
|
Effect.andThen(HttpClient.get("https://www.uuidtools.com/api/generate/v4")),
|
||||||
@@ -28,14 +28,14 @@ function RouteComponent() {
|
|||||||
key: [],
|
key: [],
|
||||||
})
|
})
|
||||||
|
|
||||||
const [queryState] = R.useRefState(state)
|
const [state] = R.useRefState(query.state)
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Container>
|
<Container>
|
||||||
<Flex direction="column" align="center" gap="2">
|
<Flex direction="column" align="center" gap="2">
|
||||||
<Text>
|
<Text>
|
||||||
{AsyncData.match(queryState, {
|
{AsyncData.match(state, {
|
||||||
NoData: () => "No data yet",
|
NoData: () => "No data yet",
|
||||||
Loading: () => "Loading...",
|
Loading: () => "Loading...",
|
||||||
Success: (value, { isRefreshing, isOptimistic }) =>
|
Success: (value, { isRefreshing, isOptimistic }) =>
|
||||||
@@ -45,7 +45,7 @@ function RouteComponent() {
|
|||||||
})}
|
})}
|
||||||
</Text>
|
</Text>
|
||||||
|
|
||||||
<Button onClick={() => runSync(refresh)}>Refresh</Button>
|
<Button onClick={() => runSync(query.refresh)}>Refresh</Button>
|
||||||
</Flex>
|
</Flex>
|
||||||
</Container>
|
</Container>
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user