@akinon/app-client v1.0.1
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-clientUsage
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.
8 months ago
10 months ago
12 months ago
12 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
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago