import React, { Component } from 'react';
class App extends Component {
  render() {
    return (
      <div className="App">
        hello world
      </div>
    );
  }
}
export default App;
比如App.js这个文件中,之前我们<div></div>一般都是在html文件中写的,现在我们把这样的标签写在了js文件中,所以我们是在js里面去写html标签,在react中,我们把在js文件中写的这种标签就叫做jsx语法,在react之中,jsx语法与普通的js语法有些区别
 
最直观的感受就是以前如果我们写普通的js语法,想要渲染一段html文本的话,一般会去返回一个字符串,比如
return '<div className="App">hello world</div>'
那如果这么去写,我们去运行我们的代码,发现展现出来的就是<div className="App">hello world</div>。
 
第二点,在jsx这种标签的写法之中,不仅仅可以用html的一些标签,比如说div,span,p。我们还可以使用自己定义的一些标签,比如<App/>。
在jsx语法中,如果我们要使用自己创建的组件,我们直接通过这种标签的形式使用我们定义的组件名就可以了。
 
这里有一点要注意,就是不能把开头的写成小写的,要大写。小写在jsx里面是不支持的。在jsx里面,如果要使用自己的组件,组件的开头必须以大写字母开头,所以整体的感觉就是看到大写的标签就是组件,小写的一般就是h5标签。
 
如何再jsx里面去编写注释
{/* 注释 */}
这样写,需要通过一个花括号去写。这个只对开发有用,不会在页面上展现的
{
// 单行注释
}
这是单行的注释,大括号需要换行
jsx里面的样式
不能用class,会认为是个类,所以引用样式需要用className来代替class,这样就是react里标准的写法
如果通过输入框里面的标签,不想通过转义怎么弄,比如<h1>hello</h1>
<li
  key={index}
  onClick = {this.handleItemDelete.bind(this, index)}
  dangerouslySetInnerHTML={{__html: item}}
>
</li>
dangerouslySetInnerHTML,危险的设置,可能会被攻击
在html里面label的作用是扩大点击区域
<div>
<label for='inputSet'>输入内容:</label>
  <input
    id = 'inputSet'
    className = 'input'
    value = {this.state.inputValue}
    onChange = {this.handleInputChange.bind(this)}/>
  <button onClick = {this.handleBtnClick.bind(this)}> 提交 </button>
</div>
我们可以看到,点击输入内容的时候,光标会自动的进入input框,虽然没什么问题,但打开控制台会报错,推荐我们使用htmlFor,在react中,这个for会认为是循环的for
<div>
<label htmlFor='inputSet'>输入内容:</label>
  <input
    id = 'inputSet'
    className = 'input'
    value = {this.state.inputValue}
    onChange = {this.handleInputChange.bind(this)}/>
  <button onClick = {this.handleBtnClick.bind(this)}> 提交 </button>
</div>

React中最基础的jsx语法的更多相关文章

  1. React实例入门教程(1)基础API,JSX语法--hello world

      前  言 毫无疑问,react是目前最最热门的框架(没有之一),了解并学习使用React,可以说是现在每个前端工程师都需要的. 在前端领域,一个框架为何会如此之火爆,无外乎两个原因:性能优秀,开发 ...

  2. 【原创】React实例入门教程(1)基础API,JSX语法--hello world

    前  言 毫无疑问,react是目前最最热门的框架(没有之一),了解并学习使用React,可以说是现在每个前端工程师都需要的. 在前端领域,一个框架为何会如此之火爆,无外乎两个原因:性能优秀,开发效率 ...

  3. react脚手架和深入理解jsx语法

    react的mvc和vue的mvvm vue的mvvm属于双向绑定,view层,model数据层,vm实现双向绑定的控制层 此种模式,再某一类项目种很有优势:管理系统 ( OA, ERP , CRM ...

  4. react系列(一)JSX语法、组件概念、生命周期介绍

    JSX React中,推出了一种新的语法取名为JSX,它给了JS中写HTML标签的能力,不需要加引号.JSX的语法看起来是一种模板,然而它在编译以后,会转成JS语法,只是书写过程中的语法糖. JSX的 ...

  5. Oracle数据库 中的基础的一些语法结构

    方括号里的内容为可选项 大括号是必填 1PL/SQL结构块 DECLARE /* * 声明部分——定义常量.变量.复杂数据类型.游标.用户自定义异常 */ BEGIN /* * 执行部分——PL/SQ ...

  6. 3.react 基础 - JSX 语法

    1.最基础的 JSX 语法 普通javaScript中 引入 标签 let html = '<h1>hello</h1>'; jsx语法 let JSX_html = < ...

  7. webpack打包调试react并使用babel编译jsx配置方法

    http://lxj8749.iteye.com/blog/2287074 ********************************************** 安装webpack npm i ...

  8. React中的虚拟DOM

    当组件当state和props发生变化当时候,组件当render函数就会重新执行,组件就会被重新渲染,react中实现这种重新渲染,他的性能是非常高的,因为他引入了一个虚拟Dom的概念,那么什么是虚拟 ...

  9. React中diff算法的理解

    React中diff算法的理解 diff算法用来计算出Virtual DOM中改变的部分,然后针对该部分进行DOM操作,而不用重新渲染整个页面,渲染整个DOM结构的过程中开销是很大的,需要浏览器对DO ...

随机推荐

  1. 关于箭头函数的this指向问题

    document.onclick = function(){ // 普通函数的this是在运行的时候才临时绑定的,也就是说,函数不运行,你绝对不可能知道this是谁 // 下面这个函数如果是自调用,t ...

  2. linux命令之find

    find find命令的格式:find [-path……] -options [-print -exec -ok] path:要查找的目录路径.       ~ 表示$HOME目录       . 表 ...

  3. Lua初探

      官方网站:http://www.lua.org/ 三方模块:https://luarocks.org/ 介绍安装luarocks语法注释标示符关键字全局变量数据类型变量赋值索引循环流程控制函数可变 ...

  4. 2018湖湘杯web、misc记录

    1.题目名 Code Check 打开题目,右键发现有id参数的url,简单base64解码以后发现不是明文,说明利用了其他的加密方式,那么应该会有具体的加密方式给我们,于是试试常见的文件泄露,可以发 ...

  5. nginx反向代理使用网址速度变慢

    最近公司网址加载静态文件的速度总是跟不上于是试着用带端口的ip来访问, 发现速度快不少于是将nginx的代理修改为ip的如: location / { proxy_pass http://localh ...

  6. 从零实现一个简易jQuery框架之一—jQuery框架概述

    我们知道,不管学习任何一门框架,了解其设计的理念.目的.总体的结构及核心特性对我们使用和后续的深入理解框架都是有很大的帮助的.因此在这里先梳理一下本人对jQuery框架的一些理解. 设计目的(为什么要 ...

  7. Table 边框合并(collapse)

    border-collapse:collapse 用于表格属性, 表示表格的两边框合并为一条; <style type="text/css"> table { bord ...

  8. Java复习之Eclipse快捷键大全

    Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当 ...

  9. uiautomator 1使用简介

    1.生成build.xml android create uitest-project -n jar_name  -t id -p projectPah 2.修改build.xml 改成默认执行 bu ...

  10. Android-自定义View实现ImageView播放gif

    http://blog.csdn.net/guolin_blog/article/details/11100315 总体思路是这样的 PowerImageView类继承ImageView类 给Powe ...