react-stomp-client
TypeScript icon, indicating that this package has built-in type declarations

1.2.0 • Public • Published

ReactStompClient

A simple STOMP message client for React. It will connect to the provided endpoint on mount, followed immmediately by a subscription to the provided topic. The connection gets cleaned up on unmount.

Easily testable via mock-stomp-broker!

Supports TypeScript.

Installing

npm install --save react-stomp-client

Usage example

import React, { Component } from "react";
import StompClient from "react-stomp-client";
 
class MyComponent extends Component {
  constructor(props) {
    this.state = {
      latestMessage: null
    };
 
    this.handleMessage = this.handleMessage.bind(this);
  }
 
  handleMessage(stompMessage) {
    this.setState({
      latestMessage: stompMessage
    });
  }
 
  render() {
    const { latestMessage } = this.state;
    return (
      <StompClient
        endpoint="ws://localhost:8888/websocket"
        topic="my-topic"
        onMessage={this.handleMessage}
      >
        <div>
          {latestMessage
            ? `Latest message received: ${latestMessage}`
            : "No message received yet"}
        </div>
      </StompClient>
    );
  }
}

Props

Prop Required? Description
endpoint Yes The STOMP endpoint to connect to. The server should be up and ready to speak STOMP via WebSocket (the protocol should be either ws or wss).
topic No The STOMP topic to subscribe to. When no topic is provided, no subscription attempt is made.
onMessage No The callback to invoke when a STOMP message arrives.
children No Any React component subtree. Use this to tie the together the lifecycles of the StompClient and any components that depend on data from it.
reconnectDelay No The delay in ms to wait before attempting to reconnect to the endpoint after a connections is interrupted. Defaults to 3000.
heartbeatIncoming No The heartbeat frequency in ms to request from the server. Defaults to 30000.
heartbeatOutgoing No The heartbeat frequency in ms to send to the server. Defaults to 30000.

Dependencies (2)

Dev Dependencies (27)

Package Sidebar

Install

npm i react-stomp-client

Weekly Downloads

142

Version

1.2.0

License

MIT

Unpacked Size

361 kB

Total Files

21

Last publish

Collaborators

  • rufusraghunath