A react component for rendering the correct component from a strategy map based on the given key.
Add to your package.json:
yarn add react-component-strategy-mapImport and use:
import { RenderComponentStrategy } from 'react-component-strategy-map';
const componentStrategyMap = {
someKey: SomeComponent,
someOtherKey: SomeOtherComponent,
};
const MainComponent = () => (
<RenderComponentStrategy
componentStrategy={componentStrategyMap}
componentKey="someKey"
renderDefault={() => <div>Rendered default</div>}
/>
);| Prop | Optional | Type | Default | Description |
|---|---|---|---|---|
| componentStrategy | false | {[key: string]: React.ComponentType} | {} | Map of components used to render based on the given "componentKey" |
| componentKey | false | string | "" | key to the desired component to render from "componentStrategy" |
| componentProps | true | object | {} | And object of props to spread onto the rendered component |
| renderDefault | true | React.ComponentType | null | React component to render if "componentKey" does not match a key in "componentStrategy". If no default is given, component will return null |