@akinon/app-client v0.12.0
Akinon App Client Library
The app-client
library provides a React context and hooks for integrating micro-frontend applications with the main application shell, enabling actions like navigation, displaying modals, and other inter-app communications.
Installation
To add the app-client
library to your project, run:
pnpm install @akinon/app-client
Usage
First, wrap your micro-frontend's root component with the AppClientProvider
:
import React from 'react';
import ReactDOM from 'react-dom';
import { AppClientProvider } from '@akinon/app-client';
import App from './App';
ReactDOM.render(
<AppClientProvider config={{ isDev: true }}>
<App />
</AppClientProvider>,
document.getElementById('root')
);
Then, use the useAppClient
hook within your components to access client functionalities:
import React from 'react';
import { useAppClient } from '@akinon/app-client';
const MyComponent = () => {
const { navigate } = useAppClient();
return <button onClick={() => navigate('/path')}>Go somewhere</button>;
};
API
AppClientProvider
Props:
config
: Configuration for the client application, including isDev and forceRedirect.
useAppClient
Hook
Provides access to:
navigate(path: string)
: Function to navigate to a different route.invokeAction(actionKey: string, ...args: any[])
: Invoke a custom action defined in the app shell.- Helper functions for showing modals, toasts, and more.
data
: Data shared by host applications.
Configuration
The AppClientProvider
accepts the following configuration options:
isDev
: Enables development mode.forceRedirect
: Forces the application to load in an iframe if not already.
For more information on configuration and usage, please refer to the detailed documentation.
10 months ago
10 months ago
11 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago