zoukankan      html  css  js  c++  java
  • JSX语法

    什么是JSX语法:就是符合 xml 规范的 JS 语法;(语法格式相对来说,要比HTML严谨很多)

    1. 如何启用 jsx 语法?
     安装 `babel` 插件

    - 运行`cnpm i babel-core babel-loader babel-plugin-transform-runtime -D`
    - 运行`cnpm i babel-preset-env babel-preset-stage-0 -D`

      安装能够识别转换jsx语法的包 `babel-preset-react`

     - 运行`cnpm i babel-preset-react -D`

      添加 `.babelrc` 配置文件

    JSON
    {
    "presets": ["env", "stage-0", "react"], "plugins": ["transform-runtime"] }

      添加babel-loader配置项:

    javascript
    module: { //要打包的第三方模块 rules: [ { test: /.js|jsx$/, use: 'babel-loader', exclude: /node_modules/ } ] }

    2. jsx 语法的本质:并不是直接把 jsx 渲染到页面上,而是 内部先转换成了 createElement 形式,再渲染的;

    3. 在 jsx 中混合写入 js 表达式:在 jsx 语法中,要把 JS代码写到 `{ }`

    + 渲染数字
    + 渲染字符串
    + 渲染布尔值
    + 为属性绑定值
    + 渲染jsx元素
    + 渲染jsx元素数组
    + 将普通字符串数组,转为jsx数组并渲染到页面上【两种方案】

    const array=['Embrace' ,'Lavender']
    方案1 forEach const nameArr
    =[]
    array.forEach(item
    =>{ const temp=<h5>{item}</h5> nameArr.puse(temp) })
    再在render中引用{nameArr}

    方案2 map 直接在render中引用 {array.map(item
    =>{ return <h5>{item}</h5> })}
    即可

    4. 在 jsx 中 写注释:推荐使用`{ /* 这是注释 */ }`

    5. 为 jsx 中的元素添加class类名:需要使用`className` 来替代 `class`;`htmlFor`替换label的`for`属性

    6. 在JSX创建DOM的时候,所有的节点,必须有唯一的根元素进行包裹;

    7. 在 jsx 语法中,标签必须 成对出现,如果是单标签,则必须自闭和!

    8.React 中样式。规定使用 camelCase 语法来设置内联样式. React 会在指定元素数字后自动添加 px 。

    var myStyle = {
        fontSize: 100,
        color: '#FF0000'
    };
    ReactDOM.render(
        <h1 style = {myStyle}>我们一起走过的路</h1>,
        document.getElementById('example')
    );

    > 当 编译引擎,在编译JSX代码的时候,如果遇到了`<`那么就把它当作 HTML代码去编译,如果遇到了 `{}` 就把 花括号内部的代码当作 普通JS代码去编译;

  • 相关阅读:
    CodeForces 7B
    CodeForces 4D
    离散化
    线段树入门
    洛谷 P3951 小凯的疑惑(赛瓦维斯特定理)
    Codeforces 1295D Same GCDs (欧拉函数)
    Codeforces 1295C Obtain The String (二分)
    Codeforces 1295B Infinite Prefixes
    Codeforces 1295A Display The Number(思维)
    Codeforces 1294F Three Paths on a Tree(树的直径,思维)
  • 原文地址:https://www.cnblogs.com/embrace-ly/p/10609674.html
Copyright © 2011-2022 走看看