1.概论
Facebook构建数据不断变化的大型应用。
数据变化——大量dom操作、逻辑及其复杂
自动dom操作
状态对应内容
特点:
简单
声明式
React的核心是组件,组件的设计目的是提高代码复用率、降低测试难度和代码复杂度。
提高代码复用率:组件将数据和逻辑封装,类似面向对象中的类。
降低测试难度:组件高内聚低耦合,很容易对单个组件进行测试。
单向数据流:更新 DOM 的数据总是从顶层流下来,用户事件不直接操作 DOM,而是操作顶层数据。这些数据从顶层流下来同时更新了 DOM。
在React中,数据的流向是单向的——从父节点传递到子节点,因为组件是简单而且易于把握的,他们只需从父节点获取props渲染即可,如果顶层组件的某个prop改变了,React会递归的向下遍历整棵组件树,重新渲染所有使用这个属性的组件。
2.环境搭建(当然也可以直接使用webstorm)
安装packcontrol
安装Emmet
安装HTML-css-JSPrettify
安装Spacegray模板
环境nodejs
3.Emmet语法
子代:> div>ul>li
兄弟节点:+
父代:^ div+div>span+em^bq
重复:* (div>dl(dt+dd)*3)+footer>p
成组:()
ID:#
class:.
属性:[]
4.入门实例
<!DOCTYPE html> <html lang="zh-cn"> <head> <Meta charset="UTF-8"> <title>React</title> </head> <body> <script src="./build/react.js"></script> <script src="./build/JSXTransformer.js"></script> <script type="text/jsx"> var HelloWorld = React.createClass({ render:function () { return <p>Hello,World!</p> } }); React.render(<HelloWorld></HelloWorld>,document.body); </script> </body> </html>