1.组件嵌套

React允许将代码封装成一个component,然后像html标签一样,插入网页中中。

 var HelloMessage = React.createClass({
         render: function() {
           return <h1>Hello {this.props.name}</h1>;
         }
       });
 6 var ParentContainer = React.createClass({
       render: function() {
           return (
             <div>
               <HelloMessage name={this.props.name} />
               <HelloMessage name={this.props.name} />
             </div>
             );
         }
       });

  ReactDOM.render(
         <ParentContainer className="className" name="bella" />,
         document.getElementById('example')
       );

组件嵌套注意规则:

  首字母要大写,否则会报错;

  组件类只能包含一个顶层标签,否则会报错

  class属性需要写成className(因为jsx兼容Js语法,所以在模板中不要写js关键字)

  for要用htmlFor(道理同上)

2.组件通信

  要了解组件通信,首先得了解props和state两个属性.

    1.props一般是不可变的,state是可变的

    2.子组件间通过Props进行数据传递,this.props就是调用该组件传来的属性

    3.state可以根据与用户交互来改变。

  因此我们可以在父组件中设置state,通过props将state值传递给子组件,这种方式就实现了父组件-子组件之间的通信

这是菜鸟教程上的一个demo:

       return {
       name: "菜鸟教程",
       site: "http://www.runoob.com"
     };
   },

   render: function() {
     return (
       <div>
         <Name name={this.state.name} />
         <Link site={this.state.site} />
       </div>
     );
   }
 });

 var Name = React.createClass({
   render: function() {
     return (
       <h1>{this.props.name}</h1>
     );
   }
 });

 var Link = React.createClass({
   render: function() {
     return (
       <a href={this.props.site}>
         {this.props.site}
       </a>
     );
   }
 });

 React.render(
   <WebSite />,
   document.getElementById('example')
 );

  

react学习笔记-02的更多相关文章

  1. 软件测试之loadrunner学习笔记-02集合点

    loadrunner学习笔记-02集合点 集合点函数可以帮助我们生成有效可控的并发操作.虽然在Controller中多用户负载的Vuser是一起开始运行脚本的,但是由于计算机的串行处理机制,脚本的运行 ...

  2. react学习笔记1--基础知识

    什么是react A JAVASCRIPT LIBRARY FOR BUILDING USER INTERFACES[React是一个用于构建用户界面的JavaScript库.] React之所以快, ...

  3. React学习笔记--程序调试

    React学习笔记 二 程序调试   前面我们搭建好了React的基本开发环境,可以编写基本的React js程序了.但完成的开发环境肯定包含调试器,怎么调试用React编写的JS程序呢?有浏览器,比 ...

  4. React学习笔记(一)- 入门笔记

    React入门指南 作者:狐狸家的鱼 本文链接:React学习笔记 GitHub:sueRimn 1.组件内部状态state的修改 修改组件的每个状态,组件的render()方法都会再次运行.这样就可 ...

  5. 机器学习实战(Machine Learning in Action)学习笔记————02.k-邻近算法(KNN)

    机器学习实战(Machine Learning in Action)学习笔记————02.k-邻近算法(KNN) 关键字:邻近算法(kNN: k Nearest Neighbors).python.源 ...

  6. OpenCV 学习笔记 02 使用opencv处理图像

    1 不同色彩空间的转换 opencv 中有数百种关于不同色彩空间的转换方法,但常用的有三种色彩空间:灰度.BRG.HSV(Hue-Saturation-Value) 灰度 - 灰度色彩空间是通过去除彩 ...

  7. React学习笔记(七)条件渲染

    React学习笔记(七) 六.条件渲染 使用if或条件运算符来创建表示当前状态的元素. 可以使用变量来存储元素.比如: let button = null; if (isLoggedIn) { but ...

  8. React学习笔记(六)事件处理

    React学习笔记(六) 五.事件处理 React事件绑定属性的命名采用驼峰写法,不同于传统DOM全部小写. 如果采用JSX的语法,事件函数需要用大括号{}包裹函数名,不同于传统DOM字符串小括号的方 ...

  9. React学习笔记(五)State&声明周期

    React学习笔记(五) 四.State&声明周期 可以为组件添加"状态(state)".状态与属性相似,但是状态是私有的,完全受控于当前组件. 局部状态就是只能用于类(定 ...

随机推荐

  1. 三角形(Triangle)

    三角形(Triangle) 问题 给出一个三角形,找出从顶部至底部的最小路径和.每一步你只能移动到下一行的邻接数字. 例如,给出如下三角形: [ [2], [3,4], [6,5,7], [4,1,8 ...

  2. [C# 开发技巧]实现属于自己的截图工具

    [C# 开发技巧]实现属于自己的截图工具 一.引言 之前一直都是写一些C#基础知识的内容的,然而有些初学者可能看完了这些基础知识之后,会有这样一个疑惑的——我了解了这些基础知识之后,我想做一些工具怎么 ...

  3. svn的使用详细说明

    转载请指明:杨凯专属频道 1.在电脑的任意位置创建一个版本库文件夹 最好是全英文的目录 例如 在c:\svn下面创建一个 2.打开此文件,在这里右键 找--TortoiseSVN--->Crea ...

  4. 《jQuery权威指南》学习笔记之第2章 jQuery选择器

    2.1 jQuery选择器概述 2.1.1 什么使选择器 2.1.2 选择器的优势: 代码更简单,完善的检测机制  1.代码更简单   示例2-1     使用javascript实现隔行变色 < ...

  5. struts征程:1.初识struts2

    1.struts2在开发中所必须用到的jar包导入到项目的lib目录下 2.在web.xml中配置一个过滤器,代码格式如下 <filter> <filter-name>stru ...

  6. winform总结4> 工欲善其事,必先利其器之xml校验

    @echo 根据xml自动生成xml @echo 当前路径包含空格会导致执行失败 ::pause @echo off set path=%~dp0 for /r %path% %%i in (*.xm ...

  7. Composer入门

    摘要 本文介绍Composer的入门知识,包括require和autoload部分. Java有Maven, Node.js有npm, ROR有gem, 这些语言的程序员在开心地使用包管理工具加速开发 ...

  8. Apache2.2下载及安装

    php5.5 + apache2.4 安装配置图文步骤 http://wenku.baidu.com/link?url=8OHaJATVBHP5QrD-J2pTkmBOjY-ZG5cDngKMz7wl ...

  9. JS 常用功能收集

    JS 常用效果收集 1. 回到顶部>>    爱词霸

  10. 【USACO】接住苹果

    接住苹果奶牛喜欢吃苹果.约翰有两棵苹果树,有 N 只苹果会从树上陆续落下.如果掉苹果的时候,贝西在那棵树下,她就能接住苹果.贝西一开始在第一棵树下.在苹果掉落之前,她有足够的时间来回走动,但她很懒,最 ...