reactjs入门到实战(一)---- hello world例子

React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站。做出来以后,发现这套东西很好用,就在2013年5月开源了。由于 React 的设计思想极其独特,属于革命性创新,性能出众,代码逻辑却非常简单。所以,越来越多的人开始关注和使用,认为它可能是将来 Web 开发的主流工具。

官网:http://facebook.github.io/react/

1、环境搭建

》》》普通的用法:需要三个文件。react.js核心文件、react-dom就是适应amd 、cmd 等进行的封装、bebel就是es6和jsx转译。上线之后就不用了。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Hello React!</title>
    <script src="build/react.js"></script>
    <script src="build/react-dom.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.23/browser.min.js"></script>
  </head>
  <body>
    <div id="example"></div>
    <script type="text/babel">
      代码。。。。</script>
  </body>
</html>

》》》CommonJS 模式 browserify or webpack

// main.js
var React = require(‘react‘);
var ReactDOM = require(‘react-dom‘);

ReactDOM.render(
  <h1>Hello, world!</h1>,
  document.getElementById(‘example‘)
);

2、hello , world 例子

重点语法:先创建一个组件  var Hello = React.createClass({});  组件内定义render 并返回    ,使用组件渲染:ReactDOM.render(,)两个参数,一个是要渲染的组件。

                <div id="example"></div>
        <script type="text/babel">
            var Hello = React.createClass({
                render:function(){
                    return <h1>hello word</h1>
                }
            })
            ReactDOM.render(
              <Hello />,
              document.getElementById(‘example‘)
            );
        </script>                

3、jsx 组件 单项数据绑定 虚拟DOM

》》》jsx   : HTML 语言直接写在 JavaScript 语言之中,不加任何引号,这就是 JSX 的语法,它允许 HTML 与 JavaScript 的混写。JSX 的基本语法规则:遇到 HTML 标签(以 < 开头),就用 HTML 规则解析;遇到代码块(以 { 开头),就用 JavaScript 规则解析。

》》》组件 : React 允许将代码封装成组件(component),然后像插入普通 HTML 标签一样,在网页中插入这个组件。React.createClass 方法就用于生成一个组件类。组件类的第一个字母必须大写,否则会报错。

》》》虚拟DOM :在浏览器端用Javascript实现了一套DOM API。基于React进行开发时所有的DOM构造都是通过虚拟DOM进行,每当数据变化时,React都会重新构建整个DOM树,然后React将当前整个DOM树和上一次的DOM树进行对比,得到DOM结构的区别,然后仅仅将需要变化的部分进行实际的浏览器DOM更新。而且React能够批处理虚拟DOM的刷新,在一个事件循环(Event Loop)内的两次数据变化会被合并。

》》》单项数据绑定:不同于mvc,类似于php和html混写的写法

时间: 2024-08-01 13:12:16

reactjs入门到实战(一)---- hello world例子的相关文章

reactjs入门到实战(三)---- 组件详解

owner  >>> 传递 props this >>>是默认指向组件本身 key>>>不能没有,在复用的情况下 组件:例子 <!-- 输入:props & state 输出:html --> var LikeButton = React.createClass({ getInitialState:function(){ return {liked: false}; }, handleClick:function(event){ t

reactjs入门到实战(一)---- jxs详解

>>>如何转换    JSX transformer   Babel    官网:http://babeljs.io/   里面有一个可以看转换的测试器,es6什么的也可以应用: 注意:jsx要用大写   class .for .style .onChange 是不能用的关键词.style使用颜色的时候用 style = {{color:'red',fontSize:20}}   >>>例子二: var Hello = React.createClass({ rende

reactjs入门到实战(四)---- state详解

this.props 表示那些一旦定义,就不再改变的特性,而 this.state 是会随着用户互动而产生变化的特性. 组件免不了要与用户互动,React 的一大创新,就是将组件看成是一个状态机,一开始有一个初始状态,然后用户互动,导致状态变化,从而触发重新渲染 UI 组件其实是状态机(State Machines) React 把用户界面当作简单状态机.把用户界面想像成拥有不同状态然后渲染这些状态,可以轻松让用户界面和数据保持一致. React 里,只需更新组件的 state,然后根据新的 s

reactjs入门到实战(四)---- props详解

1>>>基础的props使用     不可修改父属性    getDefaultProps   对于外界/父组件的属性值,无法直接修改,它是只读的. <script type="text/babel"> var Hello = React.createClass({ getDefaultProps:function(){ return{ name:'Default' } }, render:function(){ return ( <span>

reactjs入门到实战(六)---- ReactJS组件API详解

全局的api 1.React.createClass 创建一个组件类,并作出定义.组件实现了 render() 方法,该方法返回一个子级.该子级可能包含很深的子级结构.组件与标准原型类的不同之处在于,你不需要使用 new 来实例化. 组件是一种很方便的封装,可以(通过 new )为你创建后台实例. 2.React.createElement ReactElement createElement( string/ReactClass type, [object props], [children

reactjs入门到实战(十)----one-first_app

index <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <!-- Disable browser cache --> <meta http-equiv="cache-control" content="max-age=0" /> <meta http-equiv="cache-control&quo

reactjs入门到实战(九)----ajax的应用

利用外部的jquery: <script type="text/babel"> var Count = React.createClass({ getInitialState:function(){ return{ count:0 } }, componentDidMount:function(){ this.timer =setInterval(function(){ $.get('http://ip/apishow/pv.php',function(data){ var

CMake快速入门教程-实战

http://www.ibm.com/developerworks/cn/linux/l-cn-cmake/ http://blog.csdn.net/dbzhang800/article/details/6314073 http://www.cnblogs.com/coderfenghc/archive/2013/01/20/2846621.html http://blog.sina.com.cn/s/blog_4aa4593d0100q3bt.html http://hahack.com/c

xgboost入门与实战(原理篇)

http://blog.csdn.net/sb19931201/article/details/52557382 xgboost入门与实战(原理篇) 前言: xgboost是大规模并行boosted tree的工具,它是目前最快最好的开源boosted tree工具包,比常见的工具包快10倍以上.在数据科学方面,有大量kaggle选手选用它进行数据挖掘比赛,其中包括两个以上kaggle比赛的夺冠方案.在工业界规模方面,xgboost的分布式版本有广泛的可移植性,支持在YARN, MPI, Sun