react-host
v0.0.12
Published
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
Downloads
16
Readme
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?
- Add a reference to package.
import { HostService } from 'react-host';
- 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)
- 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
- 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
- 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.
- 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
- Messages can be sent by using the following command: