浅谈React
React 具备以下特性:1.声明式设计 —React采用声明范式,可以轻松描述应用
2.高效 —React通过对DOM的模拟,最大限度的减少与DOM的交互。
3. 灵活 —React可以与 已知的库或框架很好的配合。
4. JSX —JSX是JavaScript语法扩展,React不一定使用JSX,但我们建议使用它。
5. 组件 — 通过React构建组件,使得代码更加容易复用,能够很好的应用在大项目的开发中。
6. 单向相应的数据流 —React实现了单向相应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更容易。
关于React的入门知识
注:下面所示实例中只引入react.js(核心js)、react-dom.js(关于DOM的js)、browser.min.js(JSX解读)
一、ReactDOM.reader是React的最基本方法:用于将模块转化为HTML语言,并插入指定的DOM节点
ReactDOM.reader(
<h1>Hellow World!</h1>
document.getElementById('example')
);
二、JSX用法 --React首次提出的一种语言
JSX语法:HTML 语言直接写在JavaScript 语言之中,不加任何引号,这就是JSX的语法,它允许HTML与JavaScipt的混写;
JSX 允许直接在模板插入JavaSript变量。如果这个变量是一个数组,则会展开这个数组的所有成员,添加到模板。
列1:var names = ['Alice','Emily','Kate'];
ReactDOM.render(
<div>
{
names.map(function (name) {
return <div><span>Hello, {name}!</span></div>
})
}
</div>,
document.getElementById('example')
);
例2:var arr = [
<h1>I have a dream!</h1>,
<h2>I have a day!</h2>,
];
ReactDOM.render(
<div>{arr}</div>
document.getElementById('example')
);
JSX具备以下优点:1. JSX执行更快,因为它在编译为JavaScript 代码后进行了优化。
2. 它是类型安全的,在编译过程中就能发现错误。
3. 使用JSX 编写模板更加简单快速。
三、组件API
1. 设置状态:setSate
2. 替换状态:replaceState
3. 设置属性:setProps
4. 替换属性:replaceProps
5. 强制更新:forceUpdate
6. 获取DOM节点:findDOMNode
7. 判断组件挂截状态:isMounted
8. 生成组件类:createClass
(关于createClass): React允许讲代码封装组件(component),然后插入普通HTML标签一样,在网页中插入这个组件。React.createClass 方法将用于生成一个组件类
注意:添加组件属性,需要注意的就是class属性需要写成className , for 属性写成 htmlFor,因为for与class是JS中的关键字(其他属性可直接使用)