---
title: "Automatic React hooks"
description: "These allow you to show Run and Task progress without adding extra code to your Jobs."
---
## The data you can receive
- Info about an event you sent, including the Runs it triggered.
- The overall status of the Run (in progress, success and fail statuses).
- Metadata like start and completed times.
- The Run output (what is returned or an error that failed the Job)
- Information about the Tasks that have completed/failed/are running.
## The hooks
- [useEventDetails](/sdk/react/useeventdetails): get the details of a specific event
- [useRunDetails](/sdk/react/userundetails): get the details of a specific Run
- [useEventRunDetails](/sdk/react/useeventrundetails): get the details of a Run triggered from a specific event
All of these hooks will automatically refresh your components as the state of your Runs or events change.
#### useEventDetails
The `useEventDetails` hook will get the details of a specific event. You can use this to show the status of a specific event.
This component will show the details of an event and the overall status of Runs that were triggered by the event:
```tsx
import { useEventDetails } from "@trigger.dev/react";
export default function EventDetails({ eventId }: { eventId: string }) {
const { data, error } = useEventDetails(eventId);
if (error) {
return
Error: {error.message}
;
}
if (!data) {
return Loading...
;
}
return (
{data.name}
Runs: {data.runs?.length}
{data.runs?.map((run) => (
Run {run.id}: {run.status}
))}
);
}
```
#### useRunDetails
The `useRunDetails` hook will get the details of a specific Run. You can use this to show the status of a specific Run.
This component will show the details of a Run and the status of each task in the Run:
```tsx
import { useRunDetails } from "@trigger.dev/react";
export default function RunDetails({ runId }: { runId: string }) {
const { data, error } = useRunDetails(runId);
if (error) {
return Error: {error.message}
;
}
if (!data) {
return Loading...
;
}
return (
Run {data.id}
Status: {data.status}
{data.tasks?.map((task) => (
Task {task.id}: {task.status}
))}
);
}
```
#### useEventRunDetails
The `useEventRunDetails` hook will get the details of a specific Run that was triggered by a specific event. You can use this to show the status of a specific Run.
This component will show the details of a Run and the status of each task in the Run:
```tsx
import { useEventRunDetails } from "@trigger.dev/react";
export default function EventRunDetails({ eventId }: { eventId: string }) {
const { data, error } = useEventRunDetails(eventId);
if (error) {
return Error: {error.message}
;
}
if (!data) {
return Loading...
;
}
return (
Run {data.id}
Status: {data.status}
{data.tasks?.map((task) => (
Task {task.id}: {task.status}
))}
);
}
```