A High-Order component to connect React and Socket.io easily.
import{SocketProvider,socketConnect,}from'socket.io-react';import{SocketProvider}from'socket.io-react';importiofrom'socket.io-client';importAppfrom'./containers/App';constsocket=io.connect(process.env.SOCKET_URL);socket.on('message',msg=>console.log(msg));constDOMNode=document.getElementById('renderTarget');render(<SocketProvidersocket={socket}><App/></SocketProvider>,DOMNode);socketproperty isfalseby default.
import{socketConnect}from'socket.io-react';functionApp(props){functionsendMessage(){props.socket.emit('message','Hello world!');}return(<buttononClick={sendMessage}>
Send!
</button>);}exportdefaultsocketConnect(App);socketConnectcan be used as a decorator (using babel-plugin-transform-decorators-legacy)