@skodacustomerjourney/feature-apps-loader-react
v0.0.5-beta.2
Published
Feature App is a microfrontend that encapsulates a composable and reusable UI. This package provides set of universal React components that simplifies integration of feature applications developed by Skoda.
Downloads
11
Readme
Skoda feature apps loader
Feature App is a microfrontend that encapsulates a composable and reusable UI. This package provides set of universal React components that simplifies integration of feature applications developed by Skoda.
Installation
npm install @skodacustomerjourney/feature-apps-loader-react
Usage
Example of integration of Forms feature application.
import { SkodaFeatureAppLoader, SkodaFeatureHubContextProvider } from '@skodacustomerjourney/feature-apps-loader-react';
const formsFeatureAppConfig = { formCode: 'cypress_tests_0', isTemp: false }
const localeServiceConfig = { countryCode: 'cz', bid: '260', language: 'cs', currency: 'czk' }
export const App = () =>
<SkodaFeatureHubContextProvider
localeServiceConfig={localeServiceConfig}>
<SkodaFeatureAppLoader
featureAppId='Skoda:FormsFeatureApp'
src='forms-feature-app.umd.js'
baseUrl='https://skoda-forms-api-dev.azurewebsites.net'
config={formsFeatureAppConfig}
/>
</SkodaFeatureHubContextProvider>
Feature Services provide shared state and shared functionality to consumers, e.g. Feature Apps. "locale-service" is required and consumed by majority of Skoda feature apps.
- featureAppId - The Feature App ID is required to identify the Feature App instance. Multiple Feature App Loaders with the same featureAppId will render the same Feature app instance.
- src - URL of client module bundle. Can be absolute or relative. If relative, loader will download the resource from baseUrl.
- baseUrl - feature apps refers to its own resources that are available on this url.
- config - feature app configuration object. Each feature app has unique configuration. Above is minimal example of configuration of Forms feature application.
Loading multiple feature apps
To load multiple (different or same) feature apps use SkodaFeatureAppLoader in different locations. It only must exist in scope of SkodaFeatureHubContextProvider.