@snex/react-connect v0.3.2
SNEX React Widget
A React widget for connecting SNEX gamepads.
When this widget exist in your application any user can connect to your web app with a gamepad by going to the URL shown.
The widget will keep track of link lifetime according to what the SNEX API reports. After the link expires the widget will go back to showing the SNEX logo and a new session can be requested by clicking again.

For more information on the controller API refer to the SNEX Documentation.
Examples
Minimal Example https://codesandbox.io/s/snex-example-8jnh2r
Multiple Connections https://codesandbox.io/s/snex-multi-connection-example-pdqog9
Usage
Watch Video on YouTube.
Install.
yarn add @snex/react-connectRequire component.
import SNEX from '@snex/react-connect';Render.
Wire up SNEX with the onConnection property to receive remotes and listen to the data event of remotes.
class MyComponent extends React.Component {
handleConnection = (controller) => {
controller.on('data', data => {
if (data.state && data.key === 'A') {
this.props.game.hero.jump();
}
});
}
render() {
return <div>
<SNEX
type='nes'
onConnection={this.handleConnection}
/>
</div>;
}
}Props
onConnection Function (required)
Function to call everytime a controller is connected. The function will have the connecting controller as argument. To listen for input from controller attach a listener to the data event.
<SNEX onConnection={controller => {
controller.on('data', data => {
console.log('Controller sent', data);
});
}}/>type String (optional)
Controller type to create URL for like nes, snes, or genesis. Default to nes. For a full list of controllers refer to the SNEX Documentation.