首页 > 解决方案 > 为什么使用 render-props 而不是仅仅将组件作为 prop 传递?

问题描述

只是出于好奇,这有什么区别:

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>
  );
}

两者都达到了相同的结果,但由于某种原因,第二种方式(渲染道具)比第一种方式更受欢迎,我只是找不到任何差异或谈论它的文章。

标签: reactjsjsx

解决方案


推荐阅读