Example fix
All checks were successful
Lint / lint (push) Successful in 12s

This commit is contained in:
Julien Valverdé
2025-10-31 15:50:01 +01:00
parent 8a354b5519
commit 9beddc0877

View File

@@ -2,7 +2,7 @@ import { HttpClient } from "@effect/platform"
import { Container, Heading, Text } from "@radix-ui/themes"
import { createFileRoute } from "@tanstack/react-router"
import { Effect, Match, Schema } from "effect"
import { Component } from "effect-fc"
import { Component, Result, Subscribable } from "effect-fc"
import { runtime } from "@/runtime"
@@ -13,12 +13,15 @@ const Post = Schema.Struct({
body: Schema.String,
})
const Result = Component.makeUntraced("Result")(function*() {
const result = yield* Component.useOnMountResult(() => HttpClient.HttpClient.pipe(
const ResultView = Component.makeUntraced("Result")(function*() {
const resultSubscribable = yield* Component.useOnMount(() => HttpClient.HttpClient.pipe(
Effect.andThen(client => client.get("https://jsonplaceholder.typicode.com/posts/1")),
Effect.andThen(response => response.json),
Effect.andThen(Schema.decodeUnknown(Post)),
Effect.tap(Effect.sleep("250 millis")),
Result.forkEffect,
))
const [result] = yield* Subscribable.useSubscribables(resultSubscribable)
return (
<Container>
@@ -40,5 +43,5 @@ const Result = Component.makeUntraced("Result")(function*() {
)
export const Route = createFileRoute("/result")({
component: Result
component: ResultView
})