LiveKit docs › Hooks › useRemoteParticipants

---

# useRemoteParticipants

The `useRemoteParticipants` hook returns all remote participants (without the local) of the current room.

## Import

```typescript
import { useRemoteParticipants } from "@livekit/components-react";

```

## Remarks

To optimize performance, you can use the `updateOnlyOn` property to decide on what `RoomEvents` the hook updates.

## Usage

```tsx
const participants = useRemoteParticipants();
<ParticipantLoop participants={participants}>
  <ParticipantName />
</ParticipantLoop>;

```

## Properties

- **`options.room`** _(Room)_ (optional): The room to use. If not provided, the hook will use the room from the context.

- **`options.updateOnlyOn`** _(RoomEvent[])_ (optional): To optimize performance, you can use the `updateOnlyOn` property to decide on what RoomEvents the hook updates. By default it updates on all relevant RoomEvents to keep the returned participants array up to date. The minimal set of non-overwriteable `RoomEvents` is: `[RoomEvent.ParticipantConnected, RoomEvent.ParticipantDisconnected, RoomEvent.ConnectionStateChanged]`

## Returns

```typescript
RemoteParticipant[]

```

---

This document was rendered at 2026-06-07T11:35:38.078Z.
For the latest version of this document, see [https://docs.livekit.io/reference/components/react/hook/useremoteparticipants.md](https://docs.livekit.io/reference/components/react/hook/useremoteparticipants.md).

To explore all LiveKit documentation, see [llms.txt](https://docs.livekit.io/llms.txt).