Зачем использовать render-props вместо того, чтобы просто передавать компонент в качестве реквизита?

#reactjs #jsx

#reactjs #jsx

Вопрос:

Просто из любопытства, в чем разница между этим:

 const Parent = ({Child}) => {
  return <div><Child name="pedro"></Child></div>
}

const Child = ({name}) => {
  return <div>{name}</div>
}

export default function App() {
  return (
    <Parent Child={Child}></Parent>
  );
}
 

И это:

 const Parent = ({render}) => {
 return <div>{render("pedro")}</div>
}

const Child = ({name}) => {
  return <div>{name}</div>
 }

export default function App() {
  return (
    <Parent render={name=><Child name={name}></Child>}></Parent>
  );
}
 

Оба достигают одинакового результата, но по какой-то причине второй способ (render props) намного популярнее первого, и я просто не могу найти никаких различий или статей, в которых говорится об этом.