react-simple-peer
React component which aims to wrap up simple-peer into an easy to use P2P room creator. It's main purpose is to hide signaling data exchange complexity behind a rather simple set of components.
How does it work ?
Getting Started
Installing
react-simple-peer comes as a npm package
npm install react-simple-peer
or
yarn add react-simple-peer
Usage
;;;;;; ; ReactDOM.renderApp/, document.getElementById'root';
API
<Setup>
Returns :
children
Props
onOfferRequest
Type:
void
Wrapper around OfferRequest event listener that provides processing callback for that request.
emitOfferResponse
Type:
void
Wrapper around OfferRequest event emitter that provides both JoinRequest and SignalingData objects.
onJoinResponse
Type:
void
Wrapper around JoinResponse event listener that provides processing callback for that response.
emitJoinAck
Type:
void
Wrapper around JoinAck event emitter that provides SignalingData as well as room id, received peer id and self peer id.
onClientOffer
Type:
void
Wrapper around clientOffer event listener that provides processing callback for that offer.
emitInitiatorOffers
Type:
void
Wrapper around InitiatorOffers event emitter that provides list of offers, self id and room id
onLeaving
Type:
void
Wrapper around leaving event listener that provides processing callback for that leaving peer.
<JoinRoomButton>
Returns :
React.HTMLButtonElement
Props
className
Type:
string
CSS class names
className
Type:
string
CSS class names
room
Type:
string
id of room to join
join
Type:
void
Wrapper around joinRequest emitter
<Peers>
Returns :
children
children
Type:
React.HTMLElement
<State>
Returns :
'Waiting for peers' | 'Emitting offer' | 'Requesting access' | 'Receiving response access' | 'Connecting to existing peers' | 'Joining session'
Returns the current state of the peer
JoinRequest
roomId: string;peerId: string;
ClientOffer
offer: SignalData;peers:
setModel
Params:
model: ReactSimplePeerModel
Returns :
void
getId
Returns :
string
Returns self peerId
setRoom
Params:
roomId: string
Returns :
void
<PeerVideo>
Props
peer
Type:
ReactSimplePeerModel
Returns :
React.HTMLVideoElement