UNPKG

react-compose-context-consumers

Version:
25 lines (20 loc) 634 B
import React from 'react'; function compose(...contextConsumers) { return class Composed extends React.PureComponent { render() { const composeHelper = (remainingContextConsumers, collectedContexts = []) => { if (!remainingContextConsumers.length) { return this.props.children(...collectedContexts); } const [Next, ...rest] = remainingContextConsumers; return ( <Next> {context => composeHelper(rest, [...collectedContexts, context])} </Next> ); } return composeHelper(contextConsumers); } } } export default compose;