Function MediasfuChat

MediasfuChat component optimizes the media experience for chatting events. Only 2 participants can share media (audio, video, no screen share support) with each other. Participants can view each other's media and chat with each other. It manages various states and references related to the media session, including user credentials, room details, participants, and recording parameters.

<MediasfuChat
PrejoinPage={CustomPrejoinPage}
localLink="https://localhost:3000"
connectMediaSFU={true}
credentials={{ apiUserName: "user", apiKey: "key" }}
useLocalUIMode={true}
seedData={customSeedData}
useSeed={true}
imgSrc="https://example.com/logo.png"
sourceParameters={{ key: value }}
updateSourceParameters={updateSourceParameters}
returnUI={true}
noUIPreJoinOptions={customPreJoinOptions}
joinMediaSFURoom={joinRoomOnMediaSFU}
createMediaSFURoom={createRoomOnMediaSFU}
/>

This component handles the generic functionalities for MediaSFU, including joining rooms, managing participants, and handling media streams. It uses various hooks and methods to manage state and perform actions such as joining a room, updating initial values, and handling media streams.

Properties

propTypes?: WeakValidationMap<MediasfuChatOptions>

Used to declare the types of the props accepted by the component. These types will be checked during rendering and in development only.

We recommend using TypeScript instead of checking prop types at runtime.

contextTypes?: ValidationMap<any>

Lets you specify which legacy context is consumed by this component.

defaultProps?: Partial<MediasfuChatOptions>

Used to define default values for the props accepted by the component.

type Props = { name?: string }

const MyComponent: FC<Props> = (props) => {
return <div>{props.name}</div>
}

MyComponent.defaultProps = {
name: 'John Doe'
}
displayName?: string

Used in debugging messages. You might want to set it explicitly if you want to display a different name for debugging purposes.


const MyComponent: FC = () => {
return <div>Hello!</div>
}

MyComponent.displayName = 'MyAwesomeComponent'