1、ReactJs基础知识01--入门使用

1、此处应用了三个库,必须首先加载,react.js是核心库,react-dom.js是提供与DOM相关的功能,babel.js的作用是将JSX语法转换为JavaScript语法,script标签加上type="text/babel"属性

2、ReactDOM.render是React的最基本的方法,用于将模板转换为HTML语言,并插入指定的DOM节点,两个参数,渲染内容和插入的节点

3、被称为 JSX,是一个 JavaScript 的语法扩展,JSX中使用插值表达式{ },并且JSX也是一个表达式;书写时会将 JSX 拆分为多行,同时,我们建议将内容包裹在括号中,这可以避免遇到自动插入分号陷阱

  注意:
    // JSX中的属性,你可以通过使用引号,来将属性值指定为字符串字面量:
      // 在属性中嵌入 JavaScript 表达式时,不要在大括号外面加上引号。
      // 你应该仅使用引号(对于字符串值)或大括号(对于表达式)中的一个,
      // 对于同一属性不能同时使用这两种符号。
4、ReactDOM.render在所有内容渲染之前,都会将其转换为字符串,防止XSS攻击
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <!-- 此处应用了三个库,必须首先加载,react.js是核心库,react-dom.js是提供与DOM相关的功能,Browser.js的作用是将JSX语法转换为JavaScript语法 -->
    <script src="lib/react.development.js"></script>
    <script src="lib/react-dom.development.js"></script>
    <script src="lib/babel.min.js"></script>
    <title>JSX语法</title>
  </head>
  <body>
    <div id="example"></div>
    <!-- script标签的type属性为text/babel.这是因为React独有的JSX语法 -->
    <!-- 它被称为 JSX,是一个 JavaScript 的语法扩展 -->
    <script type="text/babel">
      // ReactDOM.render是React的最基本的方法,用于将模板转换为HTML语言,并插入指定的DOM节点
      const name = 'Josh Perez';
      // JSX中使用插值表达式{},并且JSX也是一个表达式
      const element = <h1>Hello, {name}!</h1>;

      function formatName(user) {
        return user.firstName + ' ' + user.lastName;
      }

      const user = {
        firstName: 'Harper',
        lastName: 'Perez'
      };
      
      // 我们会将 JSX 拆分为多行。同时,我们建议将内容包裹在括号中,这可以避免遇到自动插入分号陷阱
      const element2 = (
        <h1>
          Hello, {formatName(user)}!
        </h1>
      );

      // JSX中的属性,你可以通过使用引号,来将属性值指定为字符串字面量:
      // 在属性中嵌入 JavaScript 表达式时,不要在大括号外面加上引号。
      // 你应该仅使用引号(对于字符串值)或大括号(对于表达式)中的一个,
      // 对于同一属性不能同时使用这两种符号。
      // 使用小驼峰命名,并且class类使用className
      const element3 = <img tabIndex="0" src={user.avatarUrl} />;
      // 所有内容渲染之前都转换成了字符串,防止XSS攻击
      ReactDOM.render(
        element2,
        document.getElementById('example')
      );
      // HTML 语言直接写在 JavaScript 语言之中,不加任何引号,这就是 JSX 的语法,
    </script>
  </body>
</html>

  

原文地址:https://www.cnblogs.com/gopark/p/12291383.html