A lot of people seem to be re-discovering and re-inventing this approach, due to the recent discussions in the React community about the use of "render props" as an alternative to Higher-Order Components. It's interesting to note that this is actually how React-Redux worked originally [0], but it was changed to be a HOC later.<p>There's other recent examples at [1] and [2]. Dan Abramov's tweet at [3] describes why React-Redux changed from a render prop to a HOC in the first place, and there's another good Twitter discussion thread at [4] (where Michael Jackson points out that this is suddenly a really popular thing to try).<p>Glancing at the source code for this implementation, I'm actually rather concerned about its performance. It looks like it calls `connect()` _inside_ of a functional component. That means that every time React re-renders the parent functional component, `connect()` will generate a new HOC component, React will see that it's a different component type being rendered (because the new HOC is not the same as the old HOC), and the entire child component tree will be thrown away by the reconciliation process. This does not seem like a very performant approach.<p>[0] <a href="https://github.com/reactjs/react-redux/tree/11adf721fbb3f5548c6e5f6b4999835d41807850#deprecated-api" rel="nofollow">https://github.com/reactjs/react-redux/tree/11adf721fbb3f554...</a><p>[1] <a href="https://github.com/jsonnull/redux-render" rel="nofollow">https://github.com/jsonnull/redux-render</a><p>[2] <a href="https://medium.com/@gott/connecting-react-component-to-redux-store-with-render-callback-53fd044bb42b" rel="nofollow">https://medium.com/@gott/connecting-react-component-to-redux...</a><p>[3] <a href="https://twitter.com/dan_abramov/status/913712295594926080" rel="nofollow">https://twitter.com/dan_abramov/status/913712295594926080</a><p>[4] <a href="https://twitter.com/mjackson/status/915335846324092930" rel="nofollow">https://twitter.com/mjackson/status/915335846324092930</a>