zoukankan      html  css  js  c++  java
  • React 学习一 运行

    最近项目准备使用React作为前端,主要第一比较火,第二比较小。抽空先来学习一下。

    首先下载资源文件:压缩后不到50KB,是挺小的哦。

    其中:react.js 是 React 的核心库,react-dom.js 是提供与 DOM 相关的功能,react-dom-server.js是服务端渲染dom的功能,react-with-addons是一些插件功能。

    好,姑且不管server 和addons,用react和react-dom开始一个尝试一下,使用官方实例:

    <!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">
          ReactDOM.render(
            <h1>Hello, world!</h1>,
            document.getElementById('example')
          );
        </script>
      </body>
    </html>

    运行成功不错:

    再看看源代码:<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.23/browser.min.js"></script>,React下载包里没有它, 这是啥?

    browser.js是babel的浏览器版本,babel又是什么?

    babel 是一个javascript编译工具,要编译工具干什么?

    再看源代码<h1>Hello, world!</h1>,这是React的jxs语法,js不认识它,所以要借助babel把它翻译成为js识别的代码。

    在看<script type="text/babel"> 这里指名使用babel,所以要引用browser.js,不然程序无法执行。

    好,不想用它怎么办?

    那就使用原生的js或者编译过的js: 

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>react demo</title>
        <script src="../src/react-0.14.3/build/react.js"></script>
        <script src="../src/react-0.14.3/build/react-dom.js"></script>
    </head>
    <body>
        <div id="example"></div>
        <script type="text/javascript">
          ReactDOM.render(
            React.createElement('h1', null, 'Hello, world!'),
            document.getElementById('example')
          );
        </script>
    </body>
    </html>

    去掉browser.js, 修改 <script type="text/javascript">。

    补充一点:React之前使用 JSXTransformer 来翻译jsx,其类型为<script type="text/jsx">,从v0.14开始使用babel。babel 不仅可以翻译jsx,也可以编译ES,可能babel使用会给react带来更好的发展,让我们拭目以待。

  • 相关阅读:
    Linux启动mysql命令
    Linux启动Apache服务器命令
    使用SSH命令从一台Linux远程登陆到另一台Linux
    Linux关机命令
    从Windows复制文件到Linux
    无法访问SVN历史记录的问题
    linux静态IP最简配置
    学习之Redis(二)
    学习之Redis(一)
    MySQL数据库笔记总结
  • 原文地址:https://www.cnblogs.com/jimson/p/React1.html
Copyright © 2011-2022 走看看