Utilities for creating React controller components
react-controllers
=================
Utilities for working with React controller components.

``sh`
npm install react-controllers --save
A controller is a term for a React components that follow three rules:
- It expects to receive a render function via its children propshouldComponentUpdate
- It passes an output object to that render function
- It does not define or PureComponent
For example:
`jsx`
render() {
return (
{output =>
{output.name}
}
)
}
Some common controllers include the component of React's Context API, and the component from react-router 4.
When composing a number of controllers, you'll encounter the controller mountain problem: whitespace starts stacking up in a way reminiscent of callback pyramids.
`js`
{auth =>
{nav =>
{store =>
}
}
}
The controller solves this by combining controllers together.
Each prop for should be a function that returns a controller element. It then threads the outputs of each controller into the output of its own children function. For example, the above could be rewritten as:
`js
import { Combine } from 'react-controllers'
nav={children =>
store={children =>
>
{output =>
}
``