Loading...
Please waitLoading...
Please waitManage web workers in React components with the useWorker hook, providing a way to offload computationally expensive tasks to a separate thread.
pnpm dlx shadcn@latest add https://usekit.kiron.dev/k/use-worker
"use client"
import { useWorker } from "@/hooks/use-worker"
export function Component() {
const { result, error, isRunning, run } = useWorker<string>({
workerScript: "/path/to/your/worker.js",
})
const handleRunWorker = async () => {
try {
await run("Hello from main thread")
console.log("Worker result:", result)
} catch (err) {
console.error("Worker error:", err)
}
}
return (
<div>
<button onClick={handleRunWorker} disabled={isRunning}>
Run Worker
</button>
{error && <p>Error: {error.message}</p>}
{result && <p>Result: {result}</p>}
</div>
)
}
Name | Type | Description | Default Value | Optional |
---|---|---|---|---|
workerScript | string | The URL of the worker script to be used. | - | No |
Name | Type | Description |
---|---|---|
result | T | null | The result from the worker. |
error | Error | null | Error object if the worker fails. |
isRunning | boolean | Function to terminate the worker. |
run | (data: any) => Promise<void> | Function to run the worker with data. |