{ "id": "2b6cecd86641d6ba257da89a", "source": "solid:signals", "type": "github-document", "title": "use-transition", "content": "---\ntitle: useTransition\nuse_cases: \u003e-\n async batching, loading states, suspense integration, concurrent updates, ui\n transitions\ntags:\n - transitions\n - async\n - suspense\n - loading\n - batching\n - concurrent\nversion: '1.0'\ndescription: \u003e-\n Batch async updates with transitions in SolidJS. Track pending states and\n defer commits until all async processes complete for smooth UI updates.\n---\n\n```ts\nimport { useTransition } from \"solid-js\"\n\nfunction useTransition(): [\n\tpending: () =\u003e boolean,\n\tstartTransition: (fn: () =\u003e void) =\u003e Promise\u003cvoid\u003e\n]\n\n```\n\nUsed to batch async updates in a transaction deferring commit until all async processes are complete.\nThis is tied into Suspense and only tracks resources read under Suspense boundaries.\n\n```ts\nconst [isPending, start] = useTransition();\n\n// check if transitioning\nisPending();\n\n// wrap in transition\nstart(() =\u003e setSignal(newValue), () =\u003e /* transition is done */)\n```", "url": "https://github.com/solidjs/solid-docs/blob/HEAD/src/routes/reference/reactive-utilities/use-transition.mdx", "metadata": { "path": "src/routes/reference/reactive-utilities/use-transition.mdx", "repo": "solidjs/solid-docs", "repo_url": "https://github.com/solidjs/solid-docs.git", "size": 935, "source_type": "github" }, "hash": "60046e376967e81128acaba0863166e3b77961db18575ee7a94d636fed0a94bd", "timestamp": "2026-02-23T11:43:00.190223353+01:00" }