0.0.12 • Published 6 years ago

react-host v0.0.12

Weekly downloads
2
License
MIT
Repository
-
Last release
6 years ago

React-Host

JavaScript module for consuming React Micro-Experiences (MEx). This has an abstracted state based communication logic which can be leveraged to establish data transfer between host and MEx

Prerequisites

React-host has rxjs as peer dependency. Install it by running following command:

```
npm install rxjs --save
```

How To Install

Run the command:

```
npm install @microsoftit/react-host --save
```

How To Use?

  1. Add a reference to package.
    import { HostService } from 'react-host';
  2. The package renders the react component in two ways:
    • Using DOM: You can provide a DOM element to the package and the it will render the react component in that DOM element. The method accepts 2/3 parameters: Component, the React Component, DomElementID, ID of DOM element and InitialDataObject, initial data (optional). This will return an object of type CanvasCommunicationHelper that can be used to setup communication with React Component
      var canvasCommunicationHelper = HostService.renderReactComponentOnDOM(Component: react.Component, DOMElementId: string, InitialDataObject?: object);
    • Using React Element: This function will return a stateless react component which can be placed anywhere required. Use of React-DOM is required to use this method. The method accepts 2/3 parameters: Component, the React Component, canvasCommunicationHelperObj, reference to object used to setup communication with React Component and InitialDataObject, initial data (optional).
      HostService.renderReactComponent(Component: react.Component, canvasCommunicationHelper: object, InitialData?: object)
  3. On Canvas, canvasCommunicationHelper is the communication helper returned by package
    • The data object can be sent from host component to widget by using the following command, where canvasCommunicationHelper is the communication helper returned by package.
      canvasCommunicationHelper.sendData(DataObject);
    • Data can be received at host component by using the observable as follows, here canvasCommunicationHelper is the communication helper returned by package.
      canvasCommunicationHelper.dataReciever.subscribe((data) => {
          // Do Something with data
      });
    • Last received Data can also be accessed using getCurrentState function. The function can be used as follows:
      var lastReceivedData = canvasCommunicationHelper.currentStateData
  4. On the widget side, MExCommunicationHelper would be received as props, which can be used for sending/receiving messages.
    • Messages can be sent by using the following command:
      this.props.MExCommunicationHelper.sendData(DataObject);
    • Messages can be received by using observables in following fashion:
      this.props.MExCommunicationHelper.dataReciever.subscribe((data) => {
          // Do Something with data
      });
    • Last received Data can also be accessed using getCurrentState function. The function can be used as follows:
      var lastReceivedData = this.props.MExCommunicationHelper.currentStateData
0.0.12

6 years ago

0.0.11

6 years ago

0.0.10

6 years ago

0.0.9

6 years ago

0.0.8

6 years ago

0.0.7

6 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago

0.0.0

6 years ago