Sync React states via WebRTC with other users
npm install react-webrtc-syncMake your React apps render on multiple clients via WebRTC! This leverages Skylink to magically make a React component's state shared across multiple clients.
Creating the synced notepad is very simple. First, create a simple controlled textarea, just like you would with any form in React. We'll use React's two-way binding helpers to save us some typing:
``javascript
/* @jsx React.DOM /
var App = React.createClass({
mixins: [React.addons.LinkedStateMixin],
getInitialState: function() {
return {text: ''};
},
render: function() {
return ;
}
});
React.render(
`
Next, let's make it sync between clients by adding two lines of code.
`javascript
/* @jsx React.DOM /
ReactWebRTCSync.initSkylink('Your Skylink App Key', 'room name');
var App = React.createClass({
mixins: [React.addons.LinkedStateMixin, ReactWebRTCSync.Mixin],
getInitialState: function() {
return {text: ''};
},
render: function() {
return ;
}
});
React.render(
``
And you're in sync. :)
Big thanks to Pete Hunt for his awesome work on React and react-multiplayer to get me started!
License is Apache 2.0