namespace-hoc

1.0.3 • Public • Published

namespace-hoc

Namespaces are one honking great idea -- let's do more of those!

namespace-hoc is namespaced compose function that can be used with recompose to avoid prop name collision.

build status npm version npm downloads

Usage

compose(
  opts: string | { namespace: string, propMap: Array<string> | { [string]: string } },
  ...functions: Array<Function>,
): Function

Usage to namespace a portion of a group of HOC

import ReactDOM from 'react-dom'
import { compose, withProps, mapProps, withState } from 'recompose';
import namespace from 'namespace-hoc';
 
const App = compose(
  withState('state', 'setState', { location: 'france' }),
  namespace(
    {
      namespace: 'toulon',
      propMap: { 'state': 'parentState' }, // you can still access props passed in using a the propMap option that is a array of props you want passed in, or an object `{ key: alias }`
    },
    withState('state', 'setState', { prisoner: 24601 })
    mapProps(props => ({ description: `location: ${props.parentState.location}, prisoner: ${props.state.prisoner}` }))
  )
)((props) => <div>description: {props.toulon.description}</div>);
 
ReactDom.render(<App />, document.querySelector('#container'));

Package Sidebar

Install

npm i namespace-hoc

Weekly Downloads

1

Version

1.0.3

License

ISC

Last publish

Collaborators

  • jephuff