• 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带来更好的发展,让我们拭目以待。

  • 相关阅读:
    请使用支持 JDBC 4.0 的 sqljdbc4.jar 类库
    add jars和add external jars有什么区别
    JDBC连接sql server数据库的详细步骤和代码
    ios 开发中 动态库 与静态库的区别
    Core Data使用之一(Swift): 获取
    南邮NOJ整除的尾数
    南邮NOJ卡片游戏
    南邮NOJ卡片游戏
    南邮NOJ卡片游戏
    南邮NOJ卡片游戏
  • 原文地址:https://www.cnblogs.com/jimson/p/React1.html
Copyright © 2020-2023  润新知