注释:
     React JSX需要的注释格式是:
     {/*....*/}
     WebStorm默认的是:
     /*.....*/
 
作为子节点
{/*...*/}
作为内联属性
/*.....*/  ----------多行注释
// -----------单行注释
 
写内联样式:
var tdStyle = {
     border:0
}
<td style={tdStyle}></td>
 
refs
ref的值有两种类型,一种是字符串、一种是回调函数
 
contentEditable属性为true,允许用户在其内部输入富文本
 
访问受控的DOM节点
1.componentDidMount时期
2.事件处理器时期
 
模拟卸载而后重新挂载
componentDidUpdate:function(){
     this.componentWillUnmount();
     this.componentDidMount();
}
 
forceUpdate:就是重新更新render。有些变量不在state上,但是你又想达到这个变两个更新的时候,刷新render;或者state里的某个变量层次太深,更新的时候没有自动触发render,这时候都可以手动调用forceUpdate自动触发render
 
 
shouldComponentUpdate()方法是判断是否有必要更新render(),渲染页面,返回的结果是bool值,如果是false,则不用重新更新render,否则更新,默认值是true,该方法接受两个参数,即新的props和新的state
 
redux就是用来确保state变化的可预见性
主要的约束有:
1.state以单一对象存储在store对象中
2.state只读
3.使用纯函数reducer执行state更新
管理应用的 state
  • 通过 store.getState() 可以获取 state

  • 通过 store.dispatch(action) 来触发 state 更新

  • 通过 store.subscribe(listener) 来注册 state 变化监听器

  • 通过 createStore(reducer, [initialState]) 创建
 
React支持的元素
1.html元素
2.SVG元素
支持的属性
支持所有的data-*和aria-*属性
注意:所有的属性都是驼峰命名的,class属性和for属性分别改为className和htmlFor,来符合DOM API 规范
 
React特有的属性
key:可选的唯一的标识器。当组件在渲染过程中被各种打乱的时候,由于差异检测逻辑,可能会被销毁后重新创建,给组件绑定一个key,可以持续确保组件还在DOM中。
ref:获取真实dom时使用,this.refs.[refname].getDOMNode()。
dangerouslySetInnerHTML:提供插入纯HTML字符串的功能,主要为了能和生成的DOM字符串的库整合
 
 
批处理虚拟DOM的刷新
 
 
react中DOM节点如何绑定属性:使用data-属性名
 
 
 
React提倡所有的数据都是由父组件来管理,通过props的形式传递给子组件来处理
React组件之间交流的方式有3种:
1.父组件向子组件传值     主要利用props来进行交流   
 注意 :
           如果组件嵌套层次太深,那么从外到内组件的交流成本就变得很高,建议尽可能的减少组件的层次
2.子组件向父组件传值    主要利用子组件空置 自己的state然后告诉父组件的点击状态,然后在父组件中展示开来
3.没有任何嵌套关系的组件之间传值(ps:比如:兄弟之间的传值)
注意:
         如果组件有多层嵌套的情况下,你必须要一次传入回调函数给props来实现子组件向父组件传值 

react.js的更多相关文章

  1. MVC、MVP、MVVM、Angular.js、Knockout.js、Backbone.js、React.js、Ember.js、Avalon.js、Vue.js 概念摘录

    注:文章内容都是摘录性文字,自己阅读的一些笔记,方便日后查看. MVC MVC(Model-View-Controller),M 是指业务模型,V 是指用户界面,C 则是控制器,使用 MVC 的目的是 ...

  2. 再谈React.js实现原生js拖拽效果

    前几天写的那个拖拽,自己留下的疑问...这次在热心博友的提示下又修正了一些小小的bug,也加了拖拽的边缘检测部分...就再聊聊拖拽吧 一.不要直接操作dom元素 react中使用了虚拟dom的概念,目 ...

  3. React.js实现原生js拖拽效果及思考

    一.起因&思路 不知不觉,已经好几天没写博客了...近来除了研究React,还做了公司官网... 一直想写一个原生js拖拽效果,又加上近来学react学得比较嗨.所以就用react来实现这个拖 ...

  4. React.js深入学习详细解析

    今天,继续深入学习react.js. 目录: 一.JSX介绍 二.React组件生命周期详解 三.属性.状态的含义和用法 四.React中事件的用法 五.组件的协同使用 六.React中的双向绑定   ...

  5. React.js入门必须知道的那些事

    首先,React.js是facebook在2013年5月开源的一个前端框架,React不是一个MVC框架,它是构建易于可重复调用的web组件,侧重于UI, 也就是view层, React为了更高超的性 ...

  6. React.js 官网入门教程 分离文件 操作无法正常显示HelloWord

    对着React官网的教程练习操作,在做到分离文件练习时,按照官网步骤来却怎么也无法正常显示HelloWord. 经测试,html文件中内容改为: <!DOCTYPE html><ht ...

  7. React.js入门笔记(再续):评论框的实现

    本案例来自React.js中文官网对应内容. 一. 运行环境 <link rel="stylesheet" type="text/css" href=&q ...

  8. Facebook的Web开发三板斧:React.js、Relay和GraphQL

    2015-02-26 孙镜涛  InfoQ Eric Florenzano最近在自己的博客上发表了一篇题为<Facebook教我们如何构建网站>的文章,他认为软件开发有些时候需要比较大的跨 ...

  9. 移动web端的react.js组件化方案

     背景: 随着互联网世界的兴起,web前端开发的方式越来越多,出现了很多种场景开发的前端架构体系,也对前端的要求日益增高,早已经不是靠一个JQuery.js来做前端页面的时代了,而今移动端变化最大,近 ...

  10. 收集的React.JS资料

    主页 http://facebook.github.io/react/ https://github.com/facebook/react   中文站 http://www.reactjs.cn/ h ...

随机推荐

  1. python学习笔记之类class(第六天)

         参考文档:              1.金角大王博客:http://www.cnblogs.com/alex3714/articles/5188179.html               ...

  2. c++ 注册类到 lua

    test.h: #ifndef __TEST_H__ #define __TEST_H__ class CTest { public: CTest(); ~CTest(); int getA(); v ...

  3. Java8-Function使用及Groovy闭包的代码示例

    导航 定位 概述 代码示例 Java-Function Groovy闭包 定位 本文适用于想要了解Java8 Function接口编程及闭包表达式的筒鞋. 概述 在实际开发中,常常遇到使用模板模式的场 ...

  4. Nim Game

    简单规律: 如果你面前的石子数为1,2,3必赢 4必输: 所以4+1(5),4+2(6),4+3(7)你必赢,因为你总是有办法让对方面对4,而前面分析过了4是必输的: 所以当你面对n的时候,如果n-1 ...

  5. windows+caffe(五)——实例2MNIST图片

    1. 数据集 MNIST手写体数据.bmp图片:训练集60K张28*28的,测试集10K张28*28的: 训练集: 测试集: 下载地址: 2. 读取图片名称与标签,保存到trainlist.txt与t ...

  6. C#datagridview 防止闪烁的方法

    描述:拉动DataGridView滚动条时会出现闪烁,看起来像是在重画,感觉不是很好. 解决方式:采用双缓存机制,在方案中添加方法. 代码: public static class Extension ...

  7. Android 秒级编译 Freeline

    http://mp.weixin.qq.com/s?__biz=MzA4NTQwNDcyMA==&mid=2650662410&idx=1&sn=c654fa7b0cc8c91 ...

  8. oracle 锁表问题

    oracle执行表数据更新的时候,会遇到锁表问题,比方说,会遇到这样的问题,主要原因是这张表被其他人占用,修改数据没有提交.oracle为了避免脏数据的产生,在其安全机制下,锁住该表. 执行如下操作, ...

  9. 常用open api

    SNS类网站API Facebook - http://developers.facebook.com/ 人人网开放平台 - http://dev.renren.com/ 51.com开放平台 - h ...

  10. JSP Filter用法

    1.filter的作用 在HttpServletRequest请求到达Servlet之前,拦截客户的HttpServletRequest 根据需要检查HttpServletRequest的相关信息,修 ...