004-Hello React

开始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 学习指南,这只是我在学习过程中的一些阅读笔记,个人觉得该教程讲解深入浅出,比目前大...
    leonaxiong阅读 2,860评论 1 18
  • 无意中看到zhangwnag大佬分享的webpack教程感觉受益匪浅,特此分享以备自己日后查看,也希望更多的人看到...
    小小字符阅读 8,237评论 7 35
  • 原文地址:Learning React.js is easier than you think原文作者:Samer...
    sunshine小小倩阅读 4,249评论 3 41
  • 最近看了一本关于学习方法论的书,强调了记笔记和坚持的重要性。这几天也刚好在学习React,所以我打算每天坚持一篇R...
    gaoer1938阅读 1,721评论 0 5
  • GUIDS 第一章 为什么使用React? React 一个提供了用户接口的JavaScript库。 诞生于Fac...
    jplyue阅读 3,594评论 1 11