Update: I made a PR to add Render Props to the official React docs.

Update 2: Added some language to clarify that “children as a function” is the same concept, just a different prop name.

Update 3: Render props are being used in React’s new context API, patterned after react-broadcast!

A few months ago, I tweeted:

I was suggesting that the higher-order component pattern that is a popular method of code reuse in many React codebases could be replaced 100% of the time with a regular component with a “render prop”. The “come fight me” part was a friendly…

On Friday night, I touched down in San Diego after an exhilarating two days in Salt Lake City at one of the best conferences I can remember, React Rally.

That logo! 😍

tl;dr: React Rally continues to surpass my expectations in every way for what a tech conference should be. If you like thoughtful discourse, inspiring talks, friendly people from many different backgrounds, and attention to detail, you owe it to yourself to attend next year.

My personal path to this year’s Rally started a few months ago when Matt and Jamison asked me to give one of the keynote talks. I was…

Hello, depression.

You know I hate you. How many times do I have to tell you? It’s getting old. Heck, it was old about a decade ago.

I’ve tried so hard to get rid of you! For years I thought I could just ignore you. That you’d go away on your own. That I’d grow out of you. That I could just exercise harder or eat better or pray longer and you’d get the hint and move on.

But alas, here we are again.

And you know, I think I’m starting to figure you out. After spending so much time…

Stop talking, and do something.

There’s a common attitude that I’ve come to despise lately–in others, but also in myself. It usually goes something like this:

Absolutely! I’d love to help. Just let me know what I can do!


If you really wanted to help, you would. You wouldn’t just say you want to help, and you certainly wouldn’t want to put more responsibility on me by asking me to “let you know” what you can do.

Instead, you’d care enough to find out what you can do to help.

You’d just do it.


There’s no way we’re going to make this deadline. I’ve been working on this codebase for the past 2 months but everything’s moving so quickly that it’s a complete mess. Too many cooks in the kitchen with different ideas and code styles. Really, really bad test coverage, and sporadic test failures where we actually do have tests. How am I supposed to make changes without breaking everything?

Oh boy, here he goes again. My boss, spouting off like he knows anything about what it’s like to actually be in this code. …

In the beginning, there was Netscape. And Netscape wanted to run Scheme in Netscape Navigator. So they hired Brendan Eich to work on it. But then they changed their minds and decided they wanted Java instead. And lo, JavaScript was born. And it was good (enough).

Some years later, Ryan Dahl had this crazy idea to pair Google’s V8 JavaScript runtime with libev so developers would have a way to run their JavaScript outside the browser. And node.js became a thing. And npm. And the people rejoiced.

And people started writing web servers in JavaScript, and flying helicopters with JavaScript…

Michael Jackson

Founder of @ReactTraining. Thriller.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store