• JSX 语法


    jsx 不能直接运行,是被 babel-loader 中的 react 这个 preset 翻译的

    需要注意:

    1.必须被一个单独的大标签包裹,比如:div 或者 section

    2.标签必须封闭

    3.class 要写成 className, for 要写成 htmlFor

    4.HTML 注释不能使用,只能使用 JS 注释

    5.原生标签,比如:p、li、div 如果要使用自定义属性,必须用 data- 前缀。

    <p data-a="10"></p>
    

    如果是自定义标签,此时可以随便传属性:

    <App a="10"></App>
    

    6.JS 表达式用 { } 单大括号包裹。

    在 JSX 中不能使用 if...else... 语句,但可以使用 conditional (三元运算) 表达式来替代。

    7.可以运行函数

    8.样式使用双大括号

    9.可以使用数组,数组中如果是 JSX 语法,数组会被自动展开,所以不需要使用 ng-repeat 或 v-for 这样的指令展开数组。

    class List extends Component {
      // 组件中最重要的方法就是render方法,render是渲染的意思
      render() {
          /**
           * 定义一个数组
           * map 映射成一个数组
           * 定义的JSX项目上要求有key属性,只要是重复的数组项目,都要有不能重复的key属性,这是要求。
           */
          let arr = ["白板","幺鸡","二条"].map((item,index)=>{
          return <li key={index}>{item}</li>
          });
          // 返回一个jsx语法,非常牛逼语法
          return <ul>{arr}</ul>
      }
    } 

    效果图:

    10.小写字母开头为原生标签,大写字母开头为React组件。

  • 相关阅读:
    Helm安装带验证的ElasticSearch 6.x 7.x 集群
    K8S权限控制,限制用户在多个namespace上的访问权限
    Helm安装spinnaker到k8s集群
    离线安装spinnaker到K8S集群
    Kubernetes之CronJob
    GO语言GIN框架入门
    Kubernetes kubectl 命令概述
    Kubernetes Service
    Kubernetes Ingress
    centos+Jenkins+maven搭建持续集成
  • 原文地址:https://www.cnblogs.com/crazycode2/p/8387579.html
Copyright © 2020-2023  润新知