import { Meta } from '@storybook/blocks'; # RemoteVideoTileProvider The `RemoteVideoTileProvider` provides the state of remote video tiles. ### State ```javascript { // An array of all available remote tile IDs tiles: number[]; // An object that maps the tile ID to an attendee ID tileIdToAttendeeId: { [key: string]: string; } // An object that maps an attendee ID to a tile ID attendeeIdToTileId: { [key: string]: number; }; // The total number of available remote tiles size: number; } ``` You can access the state with the `useRemoteVideoTileState` hook. ## Usage If you are using `MeetingProvider`, the `RemoteVideoTileProvider` is rendered by default. ```jsx import React from 'react'; import { MeetingProvider, useRemoteVideoTileState, RemoteVideo, } from 'amazon-chime-sdk-component-library-react'; const App = () => ( ); const MyChild = () => { const { tiles } = useRemoteVideoTileState(); const videos = tiles.map((tileId) => ); return <>{videos}; }; ``` ## Usage without MeetingProvider If you opt out of using `MeetingProvider`, you can drop in a `RemoteVideoTileProvider` and use its state. Make sure that its dependencies are rendered higher in the tree. ```jsx import React from 'react'; import { RemoteVideoTileProvider } from 'amazon-chime-sdk-component-library-react'; const App = () => ( ); ``` ### Dependencies - `AudioVideoProvider`