3.0.1 • Published 5 years ago

redux-mqtt v3.0.1

Weekly downloads
7
License
MIT
Repository
github
Last release
5 years ago

Redux middleware to store mqtt client

this library is totally written in javascript and its let you store mqtt connection object on the redux store.

Project description:

redux middleware to get mqtt client object in action-creator .

Getting Started

Install

npm i redux-mqtt --save

Uses

The included code below is a very basic sample that lets you write an action-creator that returns an object having all details about mqtt client from redux store

mqtt client connection

// Create a client instance
var client = new Paho.MQTT.Client(location.hostname, Number(location.port), "clientId");

// set callback handlers
client.onConnectionLost = onConnectionLost;
client.onMessageArrived = onMessageArrived;

// connect the client
client.connect({onSuccess:onConnect});


// called when the client connects
function onConnect() {
  // Once a connection has been made, make a subscription and send a message.
  console.log("onConnect");
  client.subscribe("World");
  message = new Paho.MQTT.Message("Hello");
  message.destinationName = "World";
  client.send(message);
}

// called when the client loses its connection
function onConnectionLost(responseObject) {
  if (responseObject.errorCode !== 0) {
    console.log("onConnectionLost:"+responseObject.errorMessage);
  }
}

// called when a message arrives
function onMessageArrived(message) {
  console.log("onMessageArrived:"+message.payloadString);
}

Redux uses - apply middleware

// import createStore,applyMiddleware and reducer 
import { createStore } from 'redux'
import reducer from './reducers'
import mqtt from 'redux-mqtt'

// create store and apply middleware

const store = createStore(reducer,applyMiddleware(mqtt(client),...))

Uses With ation-creators

// following is the action creators that will let you return an object having mqtt method that makes mqtt client accessible via arguments .
// EX -- 

export const MQTT_CONNECT = ()=>{
    return {
        mqtt:(client, dispatch, getState)=>{
            // client is mqtt client object passed via middleware to store
            return client
        }
    }
}

Breaking Changes

Previously middleware uses promise to make mqtt client available on promise resolve but from V3 onwards middleware is using pure functions to make mqtt client available .

3.0.1

5 years ago

3.0.0

5 years ago

2.0.1

5 years ago

2.0.0

5 years ago

1.0.0

5 years ago