How to write a render prop
Hi my name is Matt. This is how to write a dependecy-inverted React component using the render prop pattern. It's useful when you want to encapsulate and share common logic without knowing how it will be used or what children it should render. The render prop pattern is the successor to higher-order components and solves HoC's problems with naming collisions.
If you're on the latest version of React (>= 16.8) you should probably use a custom hook instead.
function FullName({ children, firstName, lastName }) {
const fullName = firstName + ' ' + lastName
return children(fullName)
}
// Usage:
function App() {
return (
<FullName firstName="Thor" lastName="Odinson">
{fullName => <h1>Hello {fullName}!</h1>}
</FullName>
)
}
Tweet