注释:
     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. android实现第三方登录之QQ登录

    首先,当然是在腾讯开放平台(http://open.qq.com/)注册成为开发者,然后获取APP ID 1.下载SDK http://wiki.open.qq.com/wiki/mobile/SDK ...

  2. Java8闭包

    闭包在很多语言中都存在,例如C++,C#.闭包允许我们创建函数指针,并把它们作为参数传递,Java编程语言提供了接口的概念,接口中可以定义抽象方法,接口定义了API,并希望用户或者供应商来实现这些方法 ...

  3. ip相关

    查看ip ifconfig -a 查看端口占用 ps -aux | grep tomcat

  4. Cas 介绍及使用

    CAS(Central Authentication Service)是Yale大学发起的一个企业级的.开源的项目,旨在为web应用系统提供一种可靠的单点登录解决方法(属于 web sso). 主要特 ...

  5. Web Service简介 内部资料 请勿转载 谢谢合作

    1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求, ...

  6. 一个 div 实现扇形图(锥形渐变)

    需要引用的js文件<script src="https://cdnjs.cloudflare.com/ajax/libs/prefixfree/1.0.7/prefixfree.min ...

  7. Vim升华之树形目录插件NERDTree安装图解

    来源:CSDN 作者:mybelief321 无意中看到实验室的朋友使用的vim竟然能在左边显示树形目录,感觉很方便,这样子文件夹有什么文件一目了然.他说是一个插件叫NERDTree,安装执行后的效果 ...

  8. [转]DataURL与File,Blob,canvas对象之间的互相转换的Javascript

    来源 http://blog.csdn.net/cuixiping/article/details/45932793 canvas转换为dataURL (从canvas获取dataURL) var d ...

  9. 自适应css 框架 PURE

    Bootstrap 好用 但是太大啦 有时候只需要用到媒体查询这一块的样式 Pure.css可以很好地替代 直接上地址咯: http://purecss.io/ https://unpkg.com/p ...

  10. Python mysql sqlite 数据没有更新

    原因 MySQL事务隔离级别 解决方案 conn.commit() conn.close()