1.2.1 • Published 9 years ago
redux-plugins-immutable-react v1.2.1
redux-plugins-immutable-react
React helper components for redux-plugins-immutable
Introduction
npm install redux-plugins-immutable-reactThese components help you inject other components from plugins into your UI. There are two helpers:
LoadPluginComponent: renders a component from a plugin, loading the plugin if necessaryPluginComponents: renders multiple components from multiple plugins
API
LoadPluginComponent
Renders a component from a plugin, loading the plugin if necessary. It will also render loading and load error messages depending on the plugin status.
propTypes
pluginKey(string|Symbol): the key of the plugin to load the component fromcomponentKey(?string|Symbol): if given, will get the component/element atstore.getState().getIn(['plugins', pluginKey, 'components', componentKey])getComponent((plugin: Immutable.Map) => any): (overridescomponentKey) if given, gets the component/element from thepluginfrom the redux state.componentProps(Object): if given, the component/element will be created/cloned with these propschildren: ((state: {loading: boolean, loadError?: Error, component?: any): if given,LoadPluginComponentwill return the result of this function from itsrender()instead of its default behavior.
contextTypes
LoadPluginComponentSkin(React.Component): component to render the plugin status or component. It will be created with the following props:pluginName(string): the plugin nameloading(boolean): whether the plugin is loadingloadError(Error): the error if the plugin failed to loadchildren(?React.Element): the plugin component if found
PluginComponents
Renders multiple components from multiple plugins. It will not load any plugins that are not loaded.
propTypes
componentKey(?string|Symbol): if given, will getplugin.getIn(['components', componentKey])for eachplugininstore.getState().get('plugins'). The value at these locations must be a React component, element, or anArray|Immutable.Listof components/elements.getComponent((plugin: Immutable.Map) => any): (overridescomponentKey) if given, gets the component/element from thepluginfrom the redux state. It may return a React component, element, or anArray|Immutable.Listof components/elements.componentProps(Object): if given, each component/element will be created/cloned with these propschildren((pluginComponents: any[]) => ?React.Element): if given,PluginComponentswill return the result of this function from itsrender()instead of renderingpluginComponentsinside a<div>.