美文网首页
React组合 vs 继承

React组合 vs 继承

作者: 灭绝小师弟 | 来源:发表于2020-03-29 20:30 被阅读0次

组合

React 有十分强大的组合模式。我们推荐使用组合而非继承来实现组件间的代码重用。
有些组件无法提前知晓它们子组件的具体内容,这种情况一般使用一个特殊的 children prop 来将他们的子组件传递到渲染结果中:

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

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

<FancyBorder> JSX 标签中的所有内容都会作为一个 children prop 传递给 FancyBorder 组件。因为 FancyBorder 将 {props.children} 渲染在一个 <div> 中,被传递的这些子组件最终都会出现在输出结果中。

少数情况下,你可能需要在一个组件中预留出几个“洞”。这种情况下,我们可以不使用 children,而是自行约定:将所需内容传入 props,并使用相应的 prop。

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没有发现需要使用继承来构建组件层次的情况。
Props 和组合提供了清晰而安全地定制组件外观和行为的灵活方式。

组件可以接受任意 props,包括基本数据类型,React 元素以及函数。

如果需要要在组件间复用非 UI 的功能,我们建议将其提取为一个单独的 JavaScript 模块,如函数、对象或者类。组件可以直接引入(import)而无需通过 extend 继承它们。

相关文章

  • react 组合vs继承

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

  • React组合 vs 继承

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

  • (四)react组合 vs 继承

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

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

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

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

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

  • 10.Composition vs Inheritance (组

    React版本:15.4.2**翻译:xiyoki ** React具有强大的组合模型,我们建议使用组合而不是继承...

  • 组合VS继承

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

  • 组合VS继承

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

  • React官网学习实践 - 组合 vs 继承

    React 具有强大的组合模型,我们建议使用组合而不是继承来复用组件之间的代码。 包含关系 一些组件不能提前知道它...

  • React.js的组合 VS 继承(八)

    React 拥有一个强大的组合模型,我们建议使用组合而不是继承以实现代码的重用。 在本节中,我们将考虑几个问题,即...

网友评论

      本文标题:React组合 vs 继承

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