Nutrient Packed Morsels

    @livekit/react-core
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.0 • Public • Published

    Livekit React Core

    Note: Currently this library isn't compatible with React.StrictMode. We are working on improvements in this area.

    Install

    npm install --save @livekit/react-core livekit-client

    Using hooks

    The provided components make use of two hooks: useRoom and useParticipant, they will help you manage internal LiveKit callbacks and map them into state variables that are ready-to-use from React components.

    Using the connect function returned by useRoom will ensure that callbacks are registered automatically and the other state variables are updated when changes take place in the room.

    import { useRoom, useParticipant } from 'livekit-react'
    
    export const MyComponent = () => {
      const roomOptions: RoomOptions = {
        adaptiveStream: true,
        dynacast: true,
      }
      const { connect, isConnecting, room, error, participants, audioTracks } = useRoom(roomOptions);
    
      async function init() {
        // initiate connection to the livekit room
        await connect(livekitUrl, livekitToken);
        // request camera and microphone permissions and publish tracks
        await room.localParticipant.enableCameraAndMicrophone();
        ...
      }
    
      useEffect(() => {
        init().catch(console.error)
      }, [])
    
      return (...)
    }
    
    export const ParticipantRenderer = ({ participant }) => {
      const { isSpeaking, subscribedTracks } = useParticipant(participant)
      ...
    }

    Rendering video and audio

    When building your custom UI, it's helpful to use track renderers that are provided in this library. AudioRenderer and VideoRenderer would render an audio and video track, respectively.

    Keywords

    none

    Install

    npm i @livekit/react-core

    DownloadsWeekly Downloads

    537

    Version

    1.0.0

    License

    Apache-2.0

    Unpacked Size

    139 kB

    Total Files

    19

    Last publish

    Collaborators

    • cacheonly
    • mdo
    • duanweiwei
    • benjaminlivekit
    • danm_livekit
    • feepslk
    • lukasio
    • cnderrauber
    • lk_hiroshi
    • dliulk
    • dc-livekit
    • shishir.gowda
    • raja-livekit
    • livekitherzog
    • noahlt-livekit
    • matkam_livekit
    • thedavidzhao
    • rdsa