个人理解:接触的JSX就是在React中render方法里面的js,因为里面只能有一个节点,所以你写的东西都在一个div中,要有js所以通过JSX来表达。(个人菜鸟理解,欢迎指正)

React 使用 JSX 来替代常规的 JavaScript。

JSX 是一个看起来很像 XML 的 JavaScript 语法扩展。

1.在JSX中注释需要下载花括号中,语法  {/*注释*/}

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

例:

usermane不为空
render(){
//usermane不为空
var username="阿泽大大";
return(
<div>
<h1>这里是主体内容部分</h1>
{/*这是注释的格式*/}
{/*下面三元表达式*/}
<p>{username=='' ? '用户未登录' : '用户名:'+username}</p>
</div>
)
}
//运行结果 用户名:阿泽大大 (运行时和前面一样,通过http://localhost:8080运行,webpack-dev-server)
usermane不为空
render(){
//usermane不为空
var username="";
return(
<div>
<h1>这里是主体内容部分</h1>
{/*这是注释的格式*/}
{/*下面三元表达式*/}
<p>{username=='' ? '用户未登录' : '用户名:'+username}</p>
</div>
)
}
//运行结果 用户未登录

3.布尔判断 true / false

例:

bool为真
render(){
//bool为真
var bool=true; return(
<div>
<h1>这里是底部</h1>
{/*通过true/false来控制按钮是否被禁用; disabled={} 不用'',绑带动态属性时不用''*/}
<p><input type='button' value='默认按钮' disabled={bool}/></p>
</div>
)
}
//运行结果 按钮被禁用
bool为真
render(){
//bool为假
var bool=false; return(
<div>
<h1>这里是底部</h1>
{/*通过true/false来控制按钮是否被禁用; disabled={} 不用'',绑带动态属性时不用''*/}
<p><input type='button' value='默认按钮' disabled={bool}/></p>
</div>
)
}
//运行结果 按钮正常使用

4.解析HTML

例:解析空格

render(){
//声明一个html
var html="HELLO&nbsp;WORLD"; return(
<div>
<h1>这是头部</h1>
<p>{html}</p>
</div>
);
}
//运行结果 HELLO&nbsp;WORLD 并没有将&nbsp;解析为html的空格

解决方法1:对html的标记做Unicode转码 (http://tool.chinaz.com/)

render(){
//声明一个html
//进行了unicode转码(&nbsp;---\u0020)
var html="HELLO\u0020WORLD"; return(
<div>
<h1>这是头部</h1>
<p>{html}</p>
</div>
);
}
//运行结果 HELLO WORLD 完成html空格解析

解决方法2:使用参数dangerouslySetInnerHTML进行html解码

render(){
//声明一个html
//进行了unicode转码(&nbsp;---\u0020)
var html="HELLO&nbsp;WORLD"; return(
<div>
<h1>这是头部</h1>
{/*参数dangerouslySetInnerHTML 可能会造成XSS攻击*/}
<p dangerouslySetInnerHTML = {{__html : html}}></p>
</div>
);
}
//运行结果 HELLO WORLD 完成html空格解析

还有更多JSX的内置表达式:http://www.runoob.com/react/react-jsx.html

React入门---JSX内置表达式-6的更多相关文章

  1. React(三)JSX内置表达式

    (一)JSX是什么? React 使用 JSX 来替代常规的 JavaScript. JSX 是一个看起来很像 XML 的 JavaScript 语法扩展. 我们不需要一定使用 JSX,但它有以下优点 ...

  2. React入门-JSX和虚拟dom

    1.JSX理解 举例: const element = <h1>Hello, world!</h1>; 这被称为 JSX,是一个 JavaScript 的语法扩展.建议在 Re ...

  3. python exec内置表达式--exec()

    exec obj功能: exec 执行储存在字符串或文件中的Python语句,相比于 eval,exec可以执行更复杂的 Python 代码.obj 是 要执行的表达式.exec 返回值永远为 Non ...

  4. 简话Angular 03 Angular内置表达式大全

    一句话: 大多数html标签属性和事件都有一个对应的ng指令 说明:这些指令和原生html最大的区别就是可以动态更新.比如一个div的样式用ng-class后,我们就可以随意应用css class. ...

  5. iMacros 入门教程-内置变量介绍(5)

    iMacros 的变量类型 1.!VAR0 到 !VAR9,这是系统定义的内置变量,专门给你赋值用 就是程序设定了这几个名字给你赋值 2.内建变量 就是 imacros 设定的特别作用的变量,例如 ! ...

  6. React入门--------JSX

    React学习网站 React官方英文网站:http://reactjs.cn/react/docs/top-level-api.html React官方中文网站:http://www.css88.c ...

  7. PYTHON基础入门(内置函数、推导式)学习

    **内建函数**1.通过使用dir()函数可以列出所具备的方法 例:num = 10 dir(num) 例:myList = [1,2,3,4,5,6] dir(num)2.通过使用help()函数可 ...

  8. Python入门:内置函数

    可创建一个整数列表,一般用在 for 循环中. 函数语法 range(start, stop[, step]) 参数说明: start: 计数从 start 开始.默认是从 0 开始.例如range( ...

  9. React入门---基础知识-大纲-1

    -----------------在慕课网学习react入门笔记-------------- ---------博主边学边记录,手把手进行学习及记录---------- --------------- ...

随机推荐

  1. 模块“XXX.dll”加载失败

    具体问题:模块“XXX.dll”加载失败 请确保该二进制存储在指定的路径中,或者调试它以检查该二进制或相关的.DLL文件是否有问题  找不到指定的模块. 1.在安装C++软件的时候,有时候安装失败提示 ...

  2. 【转】AS3画板工具类,可直接套用

    原文链接:http://bbs.9ria.com/thread-212711-1-16.html 今天项目需求做一个画板,要有橡皮擦.自己懒不想写,在网上搜了半天都是习作,没有拿来就能用的又不爱看.只 ...

  3. sublimeText3插件安装

    1,官方下载sublimeText 3(百度搜索) 2,安装成功后按Ctrl+`调出console 3,然后输入 import urllib.request,os; pf = 'Package Con ...

  4. Redis基础学习(三)—Key操作

    一.key的相关操作 1.删除 del key1 key2 ... Keyn 作用: 删除1个或多个键. 返回值: 不存在的key忽略掉,返回真正删除的key的数量.   2.重命名 rename k ...

  5. python 实例方法,类方法和静态方法

    在学习python代码时,看到有的类的方法中第一参数是cls,有的是self,经过了解得知,python并没有对类中方法的第一个参数名字做限制,可以是self,也可以是cls,不过根据人们的惯用用法, ...

  6. Ranking Relevance小结

    Ranking Relevance是搜索排序算法的各个影响因子中相当重要的一个部分.对于Ranking Relevance的计算,过去的技术往往分为两个大的方向:Click Behavior和Text ...

  7. 原生JS跨浏览器事件封装处理

    引子:用javascript给元素绑定事件,我们可以用addEventListener这个方法,然而这个方法有兼容问题,比如在IE浏览器上面就无效,在IE上面要用attachEvent这个方法 一.a ...

  8. MySQL数据库主从同步配置

    主服务器必须打开开二进制日志. 主要是修改配置文件 , 一般在 linux 下安装的 mysql 配置文件是 my.cnf, 在 windwos 下是 my.ini, 修改主服务器配置文件 serve ...

  9. Android 性能优化——之控件的优化

    Android 性能优化——之控件的优化 前面讲了图像的优化,接下来分享一下控件的性能优化,这里主要是面向自定义View的优化. 1.首先先说一下我们在自定义View中可能会犯的3个错误: 1)Use ...

  10. Java集合之Map和Set

    以前就知道Set和Map是java中的两种集合,Set代表集合元素无序.不可重复的集合:Map是代表一种由多个key-value对组成的集合.然后两个集合分别有增删改查的方法.然后就迷迷糊糊地用着.突 ...