React入门
一、引入Reactjs
方法一:直接下载相关js文件引入网页,其中react.js 是 React 的核心库,react-dom.js 是提供与 DOM 相关的功能,Browser.js 的作用是将 JSX 语法转为 JavaScript 语法,这一步很消耗时间,实际上线的时候,应该将它放到服务器完成。
<script src="../build/react.js"></script>
<script src="../build/react-dom.js"></script>
<script src="../build/browser.min.js"></script>
方法二:通过前端架构工具,比如 browserify 或 webpack。使用 react和 react-dom npm 包.
var React = require('react');
var ReactDOM = require('react-dom');
二、基本原理
1、创建组件
var Component=React.createClass({
render:function(){
return (
<div className="box">
<h2>我是一个标题</h2>
<contentInfo />//子组件
</div>
)
}
})
2、渲染组件(组件名称,要插入的节点)
ReactDOM.render(<Component />, document.getElementById('app'));
3、组件的状态,状态改变组件将重新渲染
getInitialState: function() {
return {liked: false};
}
4、组件的数据交互
用this.props获取组件传递过来的数据
var HelloMessage = React.createClass({
render: function() {
return <h1>Hello {this.props.name}</h1>;
}
});
ReactDOM.render(
<HelloMessage name="John" />,
document.getElementById('example')
);
设置ref值,方便后续使用React.findDOMNode方法获取虚拟dom
var MyComponent = React.createClass({
handleClick: function() {
var TextInput=React.findDOMNode(this.refs.myTextInput);
TextInput.value="clicked";
},
render: function() {
return (
<div>
<input type="text" ref="myTextInput" />
<input type="button" value="Focus the text input" onClick={this.handleClick} />
</div>
);
}
});
ReactDOM.render(<MyComponent />,document.getElementById('example'));
5、组件的生命周期(初始化、运行中、销毁)
//初始化阶段函数介绍
getDefaultProps();//只调用一次,实例之前共享引用
getInitialState();//初始化每个实例特有的状态
componentWillMount();//render之前最后一次修改状态的机会
render();//只能访问this.props和this.state,只有一个顶层组件,不允许修改状态和DOM输出
componentDidMount();//成功render并渲染完成真实DOM后触发,可修改DOM
//运行中阶段函数介绍
componentWillReceiveProps();//父组件修改属性触发,可以修改新属性和状态
shouldComponentUpdate();//返回false会阻止render(提升性能)
componentWillUpdate();//不能修改属性和状态
render();//同初始化函数render
componentDidUpdate();//同初始化函数componentDidMount
//销毁阶段函数介绍
componentWillUnmount();//在删除组件前进行清理操作,比如计时器和事件监听器
React入门的更多相关文章
- react入门(3)
在第一篇文章里我们介绍了jsx.组件.css写法 点击查看react入门(1) 第二篇文章里我们介绍了事件.this.props.children.props....other.map循环 点击查 ...
- react入门(1)
这篇文章也不能算教程咯,就算是自己学习整理的笔记把. 关于react一些相关的简介.优势之类的,随便百度一下一大堆,我就不多说了,可以去官网(http://reactjs.cn/)看一下. 这片主要讲 ...
- react入门(2)
接着上一次的讲,如果没有看过上一篇文章的小伙伴可以先看一下http://www.cnblogs.com/sakurayeah/p/5807821.html React事件 可以先看一下官网讲解的内容h ...
- react入门(4)
首先还是来回顾一下前三篇讲的内容 react入门(1): jsx,组件,css写法 react入门(2):事件,this.props.children,props,...other react入门(3 ...
- React 入门实例教程(转载)
本人转载自: React 入门实例教程
- React 入门实例教程
现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑. React 起源于 Face ...
- React入门 (1)—使用指南(包括ES5和ES6对比)
前言 本篇会简明扼要的介绍一下React的使用方法.代码会用JSX+ES5和JSX+ES6两种方式实现. React简介 React来自Facebook,于2013年开源.至今不断修改完善,现在已经到 ...
- React入门简单实践
参考文献: 1.React入门示例教程——阮一峰 2.React仅仅只是你的界限 React主要的优点就是增量更新(虚拟DOM)和组件化(状态机). <!DOCTYPE html> < ...
- 2015年最热门前端框架React 入门实例教程
现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑. React 起源于 Face ...
- React入门资源整理
另外,附上我搜集的一些比较实用的学习资料,建议先看这些撸起来,再看什么乱七八糟的awsome系列. React入门资源整理 React项目新手指南 http://www.w3ctech.com/top ...
随机推荐
- 2016BUAA校赛决赛
A. 题意:有n个点,n-1条边,1-2-3-4-5-...-n,每条边都有权值,代表走这条边的时间,时刻0一个人在点1,问从时刻1~m,有哪些时刻这个人可能走到n点 分析:将每条边当作物品,可以选1 ...
- 跨域请求——WebClient通过get和post请求api
AJAX不可以实现跨域请求,经过特殊处理才行.一般后台可以通过WebClient实现跨域请求~ //get 请求 string url = string.Format("htt ...
- laravel下的数据序列化
$data=$this->user->get(); //is obj $data=(string)$data; //is string $data=$data->toArray(); ...
- iOS学习-UIButton的imageView和titleLabel
UIButton的imageView和titleLabel的位置设置通过setImageEdgeInsets和setTitleEdgeInsets来设置 参考:http://blog.csdn.net ...
- 编译CM14.1(sudmod71.1)过程记录
编译CM14.1内存要求很高,至少8G以上,我的6G也可以搞定,交换空间分配大一点. 1.安装平台 建议安装Deepin 15.3桌面版系统,系统UI好看. 2.配置环境 (1)安装编译依赖库 sud ...
- selenium 打开浏览器
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebE ...
- Make 命令教程
http://www.ruanyifeng.com/blog/2015/02/make.html 作者: 阮一峰 日期: 2015年2月20日 代码变成可执行文件,叫做编译(compile):先编译这 ...
- highcharts总结
//tooptip此属性表达的是鼠标移那个位置显示的值 tooptip:{ formatter: function (){ //this.point.name 表达显示名字 //this.x 表达显示 ...
- Assetbundles
Unity5.4 Assetbundles官方说明 http://iq007.blog.163.com/blog/static/265542019201681264813653?suggestedre ...
- Win10 磁盘占用 100% 有效解决办法
立即查看 任务管理器,看看是不是有一个 服务主机 unistack服务组或者找类似名称的,点开以后你会看到里面有同步主机 blablah请你毫不犹豫的结束它!结束它!结束它! 按下WIN+R调出运行, ...