`
sillycat
  • 浏览: 2551051 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

ReactJS(5)Composition vs Inheritance

    博客分类:
  • UI
 
阅读更多
ReactJS(5)Composition vs Inheritance

Composition VS Inheritance
function FancyBorder(props){
    return (
        <div className={‘FancyBorder FacyBorder-‘ + 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>
    );
}

Anything inside the <FancyBorder> JSX tag gets passed into the FancyBorder component as a children prop.

Thinking in React
https://facebook.github.io/react/docs/thinking-in-react.html

Client Side
Checkout example project
https://github.com/jackhutu/jackblog-react

Start the project
>npm install
my npm version is 5.0.2

Start to debug
>npm start dev

Some small changes in the file
>git diff src/components/Toaster/index.js
-    const { msg } = nextProps
-    const { hideMsg } = this.props
+    const msg = nextProps
+    const hideMsg = this.props


Server Side
https://github.com/jackhutu/jackblog-api-express
>npm install

Start develop
>gulp serve

Exceptions:
events.js:182
      throw er; // Unhandled 'error' event
      ^
Error: The module '/Users/carl/work/jackblog/jackblog-api-express/node_modules/ccap/build/Release/hcaptha.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 48. This version of Node.js requires
NODE_MODULE_VERSION 57. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).

Solution:
>sudo npm install -g gulp

Start Mongo and Redis
>bin/redis-server
>bin/mongod -f conf/mongodb.conf

Start the Server Side
>gulp serve

Read the Detail as well
https://github.com/jackhutu/jackblog-api-express.git

References:
https://facebook.github.io/react/docs/composition-vs-inheritance.html
https://facebook.github.io/react/docs/thinking-in-react.html




分享到:
评论

相关推荐

    AdapterDelegates, 用于RecyclerView适配器的"Favor composition over inheritance".zip

    AdapterDelegates, 用于RecyclerView适配器的"Favor composition over inheritance" AdapterDelegates阅读这个项目的动机在我的博客文章。依赖项这里库在 Maven 中心可用:compile '...

    inheritance

    5. 位运算:用于模拟基因的交叉和变异,尤其是在处理二进制编码的基因时。 6. 循环和条件判断:控制遗传算法的迭代过程和结束条件。 7. 编程技巧:如递归、函数封装等,使代码更清晰、可维护。 这个程序包可能包含...

    Inheritance

    《继承在Java编程中的应用与理解》 继承是面向对象编程中的核心概念之一,它允许开发者从已有的类(父类或超类)派生出新的类(子类或派生类),以此来实现代码的复用和扩展。在Java编程语言中,继承通过关键字`...

    inheritance---derived-class.rar_inheritance

    5. **覆盖与隐藏**: - **覆盖**(Overriding)是指子类重新定义基类的虚函数,确保多态性。 - **隐藏**(Hiding)是子类使用相同名称的新成员隐藏了基类的成员,不是覆盖,因为基类成员在子类中不再是可见的。 6...

    Android代码-YaMvp

    YaViewDelegate: Composition over inheritance compile 'com.github.piasy:YaMvp:1.3.1' YaMvp-Rx RxJava Subscription management. compile 'com.github.piasy:YaMvp-Rx:1.3.1' YaRxDelegate: Comp

    Advanced JavaScript (closures,prototype,inheritance)

    JavaScript,作为一种广泛应用于Web开发的脚本语言,其高级特性如闭包(closures)、原型(prototype)和继承(inheritance)是理解其精髓的关键。本文将深入探讨这些概念,帮助开发者更好地掌握JavaScript的核心。 ...

    EC.zip_eC_inheritance

    How do you choose between inheritance and templates? Between templates and generic pointers? Between public and private inheritance? Between private inheritance and layering? Between function ...

    La-POO-con-Java.rar_inheritance

    Basic manual of java for beginners with simple and easy descriptions. Inheritance, composition, collections, files, interfaces

    ACE-inheritance

    ### ACE 类结构与继承关系详解 #### 概述 ACE(Adaptive Communication Environment)是一个广泛应用于网络编程的高性能异步通信框架,它提供了一系列高级、可重用的C++类库,旨在简化分布式系统的开发。...

    C 程序设计教学课件:CHAPTER 8 INHERITANCE.ppt

    5. **8.5 Constructors and Destructors Under Inheritance** - 在继承中,派生类可以调用基类的构造函数和析构函数,以确保正确初始化和清理资源。 6. **8.6 Name Hiding** - 名称隐藏意味着派生类可以重新定义...

    Topic 10 Inheritance.md

    Topic 10 Inheritance.md

    package-and-inheritance.zip_inheritance

    5. **泛型**:泛型是一种强大的工具,用于在编译时检查类型安全,并减少类型转换的需要。它可以应用于类、接口和方法,限制可以存储在集合中的对象类型。 6. **JVM**:Java虚拟机(JVM)是Java程序运行的平台,它...

    Chapter7_Java_Inheritance.rar_inheritance

    在Java编程语言中,继承是面向对象编程的一个核心特性,它允许一个类(子类或派生类)从另一个类(父类或基类)继承属性和行为。这个概念是第7章“Java继承”中重点讲解的内容。通过继承,我们可以创建具有共同特性...

    Daikon Forge GUI Library

    It includes a useful list of core controls that will be useful for most UI needs, and its powerful composition and inheritance capabilites and event-driven architecture allow you to quickly and ...

    C程序设计教学课件:CHAPTER8INHERITANCE.pptx

    在CHAPTER8INHERITANCE.pptx中,主要讲解了C++中的继承及其相关知识点。 8.1 引入 继承的主要目的是促进代码重用和表达程序组件之间的自然关系。例如,可以创建一个`Vehicle`基类,然后派生出如`Car`, `SaloonCar`,...

    Canalization of Development and the Inheritance of Acquired Characters

    在探讨《渠化的发展与后天性状的遗传》这一主题时,我们首先需要了解文章的核心概念及其背景。本文由沃丁顿(Waddington)于1942年发表在《自然》杂志上,主要关注了两个核心议题:发展生物学中的“渠化”现象以及...

    spring-jpa-inheritance

    1. **单表继承(Single Table Inheritance)**:所有子类的数据都存储在同一个表中,通过一个特定的字段(通常是`@DiscriminatorColumn`注解标记的)来区分不同子类的对象。这种策略的优点是简单,但可能导致表结构...

    qt-all-class-inheritance-diagrams.rar_QT树状图_inheritance_qt 树状图_q

    这个"qt-all-class-inheritance-diagrams.rar"压缩包包含了QT框架中的所有类的继承关系图,对于理解和学习QT库的架构至关重要。下面将详细阐述QT的类继承体系和相关知识点。 首先,QT的核心在于其面向对象的设计,...

Global site tag (gtag.js) - Google Analytics