React 之 JSX
开发完了一个项目了才回来研究React 一系列的技术,算是对自己的一个提高吧,也是小公司程序员的无奈。
JSX是什么?
JSX是javascript的语法的扩展。
为什么使用JSX?
1、React 认为渲染逻辑本质上与其他UI逻辑内存在耦合。
2、JSX 执行更快,因为它在编译为 JavaScript 代码后进行了优化。
3、在编译过程中就能提供有效的错误或者警告信息,类型安全。
4、JSX和UI 放在一起的方式,对开发来说,是视觉上能起到一定的辅助作用。
JSX 使用,
JSX 中可以嵌入js表达式,同时JSX自身也是个表达式
function formatName(user) {
  if(user){
    return <h1>{user.firstName}"_"{user.lastName} </h1>;  {/*JSX 被当成了一个表达式*/}
  }else{
    return <h1>word!</h1> 
  }
}
const user = {
  firstName: 'Rain',
  lastName: 'tdk'
};
const element = (
  <div>
    Hello, {formatName(user)}!  {/*JSX嵌入了一个表达式*/}
  </div>
);
ReactDOM.render(
  element,
  document.getElementById('root')
);
JSX可以有效的防止注入攻击。
在渲染所有输入内容的之前默认会进行转义成字符串。这样就可以有效的防止xss(cross-site-scrpting)攻击。
React 之 JSX的更多相关文章
- React Native JSX value should be expression or a quoted JSX text.
		
问题描述: 我在使用props时候, 我的写法是这样的 ... <View> <Person name='john' age=32 gender=true></Pers ...
 - React入门---JSX内置表达式-6
		
个人理解:接触的JSX就是在React中render方法里面的js,因为里面只能有一个节点,所以你写的东西都在一个div中,要有js所以通过JSX来表达.(个人菜鸟理解,欢迎指正) React 使用 ...
 - react基础&JSX基础
		
一.HTML 标签 vs. React 组件 React 可以渲染 HTML 标签 (strings) 或 React 组件 (classes). 1.要渲染 HTML 标签,只需在 JSX 里使用小 ...
 - react with JSX for {if…else…}
		
在react中用jsx渲染dom的时候经常会遇到if条件判断,然而在jsx中竟是不允许if条件判断的.以下有几种判断方式,可以根据自己的应用场景,挑选适合的 https://blog.csdn.net ...
 - 【02】react 之 jsx
		
React与ReactDOM是react中核心对象,React为核心功能,ReactDOM提供对DOM的操作,以前的老版本中只有React没有ReactDOM,新版本中分离出ReactDOM提供两种渲 ...
 - 前端笔记之React(一)初识React&组件&JSX语法
		
一.React项目起步配置 官网:https://reactjs.org/ 文档:https://reactjs.org/docs/hello-world.html 中文:http://react.c ...
 - React中JSX的理解
		
React中JSX的理解 JSX是快速生成react元素的一种语法,实际是React.createElement(component, props, ...children)的语法糖,同时JSX也是J ...
 - React之JSX
		
0.对于学习React,我们先来熟悉下JSX的语法, 下面的这些语法仅用于构建一个组件的标签模块,定义完成之后如果需要做演示,请附加以下代码: ReactDOM.render( element1, d ...
 - React之JSX入门
		
React是由ReactJS与React Native组成,其中ReactJS是Facebook开源的一个前端框架,React Native 是ReactJS思想在native上的体现! JSX并不是 ...
 - React入门--------JSX
		
React学习网站 React官方英文网站:http://reactjs.cn/react/docs/top-level-api.html React官方中文网站:http://www.css88.c ...
 
随机推荐
- asp.net core 学习资料整理
			
net上海俱乐部 白手套大神分享 广州一位大佬总结的系列文章 https://www.cnblogs.com/viter/p/10474091.html 汪宇杰 http://edi.wan ...
 - onscroll 元素滚动事件
			
阻止事件冒泡 event.stopPropagation(); children():查找合集里面的第一级子元素.(仅儿子辈,这里可以理解为就是父亲-儿子的关) children只查找第一级的子节点 ...
 - maven的配置-2019-4-13
			
一.Maven的优点 1. 依赖管理 jar 包管理 2.一键构建 (编译-----测试------打包-----安装-----部署 ) 什么是项目构建? 指的是项目从编译-----测试------ ...
 - 处理H5新标签方法
			
语义化 HTML5中加入了更加具有语义化的标签,比如header,nav,footer等,可以为搜索引擎优化,让爬虫能更好地理解网页结构. 但是对于新标签的兼容性不是很好,IE9以下旧版本不支持新的语 ...
 - selenium数据驱动模式实现163邮箱的登录及添加联系人自动化操作
			
项目结构如下: 要求python3.0 selenium3.0 下面是代码: appModubles:addContactPersonActtion.py和LoginAction.py addCont ...
 - 树链剖分——NOI2015
			
8说了上代码 给定一棵树,两种操作 a x:x->root路径上的点权值置1 b x: 把x的子树所有结点权值置0 树上的区间更新操作,显然是要维护dfs 第一个操作暴力显然是t,用树剖把复杂度 ...
 - Maven 工程 如何添加 oracle 驱动 问题
			
oracle 不支持 maven 仓库的下载 解决办法: 1:去oracle 下载所需的驱动jar 包 http://www.oracle.com/technetwork/database/featu ...
 - knn算法详解
			
邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一.所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代 ...
 - Spring 开发常见问题
			
linux 下http 接收中文参数乱码 解决: 在application.yml配置文件中添加 spring: http: encoding: charset: GB2312
 - 当TFS/VSTS遇上Power BI
			
引言 众所周知,要对TFS进行深入的图表分析,往往需要依赖于SQL Server Analysis Service和SQL Server Reporting Service.虽然随着TFS对敏捷项目的 ...