React component for SockJS-client with STOMP messaging protocol.
npm install --save react-stomp
import React from 'react';
import SockJsClient from 'react-stomp';
class SampleComponent extends React.Component {
constructor(props) {
super(props);
}
sendMessage = (msg) => {
this.clientRef.sendMessage('/topics/all', msg);
}
render() {
return (
<div>
<SockJsClient url='http://localhost:8080/ws' topics={['/topics/all']}
onMessage={(msg) => { console.log(msg); }}
ref={ (client) => { this.clientRef = client }} />
</div>
);
}
}
https://react-websocket.herokuapp.com/index
A working implementation using Spring Boot and react-talk can be found at https://github.com/lahsivjar/spring-websocket-template/tree/master/with-sockjs
url
: HTTP URL of the websocket endpoint to connecttopics
: An array of topics to subscribeonMessage
: Callback when a message is recievedonConnect
: Callback after connection is establishedonDisconnect
: Callback after connection is lostgetRetryInterval
: Function property which takes a number parameter indicating the retry count for a particular disconnection and returns another number specifying the interval for next retry (will be ignored if auto reconnect is false, defaults toretryCount
seconds)headers
: Headers that will be passed to the server or broker with connection requestsubscribeHeaders
: Headers that will be passed when subscribing to a destinationautoReconnect
: boolean indicating if retry should be attempted in an event of loosing connection (defaults totrue
)debug
: Enable debugging mode (defaults tofalse
)
sendMessage(topic, msg, opt_headers)
: Send message to the specified topic
Report any issues or bugs to https://github.com/lahsivjar/react-stomp/issues
This project is licensed under the MIT License - see the LICENSE file for details