004-Hello React

作者: VoyagerOne | 来源:发表于2017-05-27 13:49 被阅读73次

    开始React

    在建立好我们的服务器后,我们就可以开始我们的React学习了, 我们先把Hello-Node文件夹更名为Hello-React
    在我们的服务器根目录 public 下修改index.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>React-1</title>
      <script src="https://unpkg.com/react@latest/dist/react.js"></script>
      <script src="https://unpkg.com/react-dom@latest/dist/react-dom.js"></script>
      <script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>
    </head>
    <body>
      <div id="app">
    
      </div>
      <script type="text/babel">
        ReactDOM.render(
          <h1>Hello React</h1>,
          document.getElementById("app")
        );
      </script>
    </body>
    </html>
    

    解读

      <script src="https://unpkg.com/react@latest/dist/react.js"></script>
      <script src="https://unpkg.com/react-dom@latest/dist/react-dom.js"></script>
      <script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>
    

    我们引入了三个js文件,分别是react.js、react-dom.js、babel.js,前两个是我们react项目的基础文件,它给我们了react的众多方法,为什么它不弄成一个文件呢,因为react除了web,还有其他地方可以用,比如React Native,而我们现在是在浏览器中使用React,那么就需要引入react-dom.js

    babel简介

    既然前两个是我们在浏览器中使用React的必须,那么babel是干什么的呢,它能将我们的ES6、JSX等语法转为ES5,以扩展我们项目的可用性,毕竟仍然有很多学校或机关的电脑从不更新浏览器。babel的官网有一行大字,把babel解释得很清楚:Babel is a JavaScript compiler. “babel是一个JavaScript编译器”

    JSX

    JSX是React的灵魂,JSX就是Javascript和XML结合的一种格式。React发明了JSX,利用HTML语法来创建虚拟DOM。当遇到<时,JSX就当HTML解析,遇到{时,就当JavaScript解析。因此,我们可以像世界上最好的语言那样,直接在渲染输出语句中使用html代码,就像我们index.html中:

    <script type="text/babel">
      ReactDOM.render(
          <h1>Hello React</h1>,
          document.getElementById("app")
      );
    </script>
    

    既然我们上面引入了babel.js我们的项目中也需要使用JSX,那么注意script标签应该写成<script type="text/babel">

    ReactDOM.render();就是一个向浏览器渲染html代码的方法,前一个参数是你想渲染的内容,后一个参数是你想在那个容器里渲染,你可以看到我们的index.html文档中没有<h1>Hello React</h1>使用原生方法,我们需要createNode, createTextNode, 再一系列的appendChild,而现在使用ReactDOM.render();则方便不少

    预览

    现在我们在终端运行node server.js成功后,打开浏览器,输入localhost:3000,我们看到图示,那么我们的第一个React项目就完成了,大家可以在render()里面多尝试一下其他标签

    window-7.png

    相关文章

      网友评论

      • 捡书先生:希望楼主一直更react:grin:
        捡书先生:@VoyagerOne 你学快点,然后我跟着你的脚步:stuck_out_tongue:
        VoyagerOne:@输呆子 会的,正在学习React,最近期末了:joy:,可能会有点慢,一起进步🙋🏿‍♂️

      本文标题:004-Hello React

      本文链接:https://www.haomeiwen.com/subject/jyhqfxtx.html