初级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 ...
随机推荐
- POJ 1556 E - The Doors
题意:给定n堵墙,现在要你从(0,5)走去(10,5)的最短距离 思路:刚开始还想模拟,就是从(0,5)走,每次x向右一格,然后判断有没和线段相交就可以.但是它的们有可能是小数形式给出的,这样就GG了 ...
- SQL2008无法启动,报错"17051"解决方法
SQL2008无法启动,这是错误日志: C:/Program Files/Microsoft SQL Server/MSSQL10_50.MSSQLSERVER/MSSQL/Log 2011-06-0 ...
- Windows 命令行基础(博主推荐)
不多说,直接上干货! 见 https://blog.henix.info/blog/windows-cmdbasic/
- JSONP 回调给全局变量赋值失败解决
;//回调结束标志位var 临时全局变量;var 需要接收的全局变量: function getDate(){ flag = 0; //回调 inviteService.getActivityDeta ...
- Golang: runnerw.exe: CreateProcess failed with error 216 (no message available)
话说这个我应该遇到几次了 每次新项目都有这问题,我的记忆是金鱼的记忆吗? 好在这次隐约记起是包名的问题... 方法 修改包名为main
- linux下的idea的界面问题,错位以及各种...
问题 ’ 方法 主题设置为GTK,多余的点会消失,而且字体也会好很多
- 浅析System.Console.WriteLine()
浅析System.Console.WriteLine() Writeline()函数的功能向 StreamWriter 类写入指定字符串和一行字符,共有19个重载,其与Write()函数的主要区别在于 ...
- Java项目—嗖嗖移动业务大厅
嗖嗖移动业务大厅包类(如下图): SosoMgr: package cn.biz; import java.util.Scanner; import cn.common.Common; import ...
- java中的中文变量和方法
在网上看到java居然支持中文变量名.方法.这里我只试了变量名和方法,类名这些没有试....真是给力 package com.gxf.fun; public class TestForChinese ...
- 从零开始的全栈工程师——html篇1.8(知识点补充与浏览器兼容性)
知识点补充 一.浏览器的兼容问题(关于浏览器的兼容问题 有很多大佬已经解释的很清楚了 这个得自己百度去多花点时间去了解 这里咱们只说一下前面的漏点) 浏览器兼容性问题又被称为网页兼容性或网站兼容性问题 ...