diff --git a/connectContextRecursive.js b/connectContextRecursive.js
new file mode 100644
index 0000000..e5ededf
--- /dev/null
+++ b/connectContextRecursive.js
@@ -0,0 +1,20 @@
+import React from 'react'
+
+function recursiveConsume(Consumers, Component, props = {}) {
+ if (!Array.isArray(Consumers)) {
+ return
+ }
+
+ const Consumer = Consumers.shift()
+
+ return (
+
+ { context => (
+ Consumers.length === 0 ?
+ : recursiveConsume(Consumers, Component, Object.assign({}, context, props))
+ )}
+
+ )
+}
+
+export default (...Consumers) => Component => props => recursiveConsume(Array.from(Consumers), Component, props)