A Higher Order Component that provides configuration (from context & defaults) as props.
Preconf is just 400 bytes and works well with preact-context-provider.
Usage
;; // generally from an importconst defaults = greeting: 'hello'; let configure = ; /** Wire two configuration fields up to props: */@ { return <span>greeting name</span> } /** Render from defaults: */;// <span>hello, </span> /** Provide overrides as `context.config`: */;// <span>hello, Stan</span>
API
Table of Contents
preconf
Creates a higher order component that provides values from configuration as props.
Parameters
namespace
String? If provided, exposesdefaults
under anamespace
defaults
Object? An object containing default configuration values
Examples
Decorate a component without any namespace or defaults
let configure = ;const MyConfiguredComponent = MyComponent; MyConfiguredComponent === MyComponent; // true
Decorate a component without a namespace and using defaults
let configure = ; url: 'url' <a href=propsurl />;
Decorate a component with weather namespace and using defaults
let configure = ; url: 'weather.url' <a href=propsurl />;
Returns Function configure()
configure
Creates a Higher Order Component (HOC) that provides configuration as props.
Parameters
keys
(Object | Array<String>) An object where the keys are prop names to pass down and values are dot-notated keypaths corresponding to values in configuration. If a string or array, prop names are inferred from configuration keys.
Returns Function configureComponent(Component) -> Component. The resulting HOC has a method getWrappedComponent()
that returns the Child that was wrapped