美文网首页
九. React的组合 VS 继承(Composition vs

九. React的组合 VS 继承(Composition vs

作者: zewweb | 来源:发表于2018-05-08 09:39 被阅读0次

React 拥有一个强大的组合模型,官网建议使用组合而不是继承以实现代码的重用。

一. 包含

一些组件在设计前无法获知自己要什么子组件,尤其在Sidebar和Dialog等通用"容器"中比较常见。
对于这种组件使用特别的children props来直接传递子元素到他们的输出中:

function FancyBorder(props) {
  return (
    <div className={'FancyBorder FancyBorder-' + props.color}>
      {props.children}
    </div>
  );
}

这时其他组件就可以通过嵌套JSX传递任意子组件:

function WelcomeDialog() {
  return (
    <FancyBorder color="blue">
      <h1 className="Dialog-title">
        Welcome
      </h1>
      <p className="Dialog-message">
        Thank you for visiting our spacecraft!
      </p>
    </FancyBorder>
  );
}

有时候也可以使用占位符而不是children。

function SplitPane(props) {
  return (
    <div className="SplitPane">
      <div className="SplitPane-left">
        {props.left}
      </div>
      <div className="SplitPane-right">
        {props.right}
      </div>
    </div>
  );
}

function App() {
  return (
    <SplitPane
      left={
        <Contacts />
      }
      right={
        <Chat />
      } />
  );

相关文章

  • 九. React的组合 VS 继承(Composition vs

    React 拥有一个强大的组合模型,官网建议使用组合而不是继承以实现代码的重用。 一. 包含 一些组件在设计前无法...

  • react 组合vs继承

    react 提倡使用组合而不是继承来复用代码,具体原因呢,我现在还不知道-_-!好,先看看什么情况下我们会用到组合...

  • React组合 vs 继承

    组合 React 有十分强大的组合模式。我们推荐使用组合而非继承来实现组件间的代码重用。有些组件无法提前知晓它们子...

  • (四)react组合 vs 继承

    React 有十分强大的组合模式。我们推荐使用组合而非继承来实现组件间的代码重用1、组件使用一个特殊的 child...

  • React笔记11(组合 vs 继承)

    React具有强大的组合模型,我们建议使用组合而不是继承来复用组件之间的代码。 本章节中,将围绕几个React新手...

  • 组合VS继承

    在Effective Java中明确有提到一种思想就是组合优先于继承。实际中我们可以这样理解,组合是把代码摊开,而...

  • 组合VS继承

    React有很强大的组合机制,我们也建议你用组合的方式书写代码而不是和java等等思想一样用继承的方式写代码,这样...

  • [译]React 元素 vs React 组件 vs 组件支撑实

    本篇为译文,原文出处:React Elements vs React Components vs Componen...

  • java 组合VS继承

      在阅读Effective Java中的第16条时发现了一个有趣的机制或者说是模式,那就是组合(文中翻译为复用,...

  • Angular与其他框架的比较

    1.Angular VS angularJs 2.Angular VS React 3.Angular VS Vu...

网友评论

      本文标题:九. React的组合 VS 继承(Composition vs

      本文链接:https://www.haomeiwen.com/subject/upzmrftx.html