react 的JSX语法需要注意哪些点?
注释方式
ReactDOM.render(
<div>
{/*JSX 中的注释方式*/}
</div>,
document.getElementById('root')
)
jsx语法中只能有一个顶级标签(元素),如下写法是错误的,这和react的diff算法相关
ReactDOM.render(
<div>
</div>
<p></p>,
document.getElementById('root')
)
JSX中所有的标签都必须有闭标签
ReactDOM.render(
<div>
<input type="text" />
<img src="" />
</div>,
document.getElementById('root')
)
使用组件时,首字母必须大写
... ...
import Banner from ./Banner ReactDOM.render(
<div>
<Banner />
</div>,
document.getElementById('root')
)
在JSX中我们通常是通过 {} 的方式插入值,但是设置style属性需要{{ }},
并且遇到-分割的属性时,使用小驼峰的写法,如:text-align
ReactDOM.render(
<div style={{background:red;}}>
{ 1+2 }
<div style={{ padding: 30, textAlign: 'center' }}>
456
</div>
</div>,
document.getElementById('root')
)
html标签上的属性名
因为jsx最终要转成js进行编译,因此html标签上的属性名与JavaScript关键字和保留字相冲突的都需要做一些变化,其规则同js中操作dom属性时一样:
一般来说,在使用js操作标签属性时,若出现与JavaScript关键字和保留字相冲突的情况,除html标签class(转为className)以外的属性,在属性前加上小写的html即可,如
html标签的class在jsx语法中变为 className,html标签的for属性(如:<label for="msg" ></label>)在jsx中变为<label htmlFor="msg" ></label>,
ReactDOM.render(
<div className="tips">
<label htmlFor="name" ></label>
</div>,
document.getElementById('root')
)
调用.css 文件中的css属性
... ...
import classes form './myCss.css' ReactDOM.render(
<div className={classes['mycss']}> </div>,
document.getElementById('root')
)
事件必须修正this指针,且绑定事件名时要使用小驼峰的写法
constructor{
this.fun = this.fun.bind(this)
}
//或
onClick = {() => ()} //绑定的事件名小驼峰写法
onClick = {this.fun.bind(this)}
react 的JSX语法需要注意哪些点?的更多相关文章
- 前端笔记之React(一)初识React&组件&JSX语法
一.React项目起步配置 官网:https://reactjs.org/ 文档:https://reactjs.org/docs/hello-world.html 中文:http://react.c ...
- 【JAVASCRIPT】React学习-JSX 语法
摘要 react 学习包括几个部分: 文本渲染 JSX 语法 组件化思想 数据流 JSX 语法 1. 定义 JSX 是javascript + xml 的合集,我们可以将javascript 与 ht ...
- react的jsx语法
在webpack.config.js中配置解析的loader { test:/\.jsx?$/, use:{ loader:"babel-loader", options:{ pr ...
- React之JSX语法
1. JSX的介绍 JSX(JavaScript XML)——一种在React组件内部构建标签的类XML语法.react在不使用JSX的情况下一样可以工作,然而使用JSX可以提高组件的可读性,因此 ...
- React之jsx语法特性
jsx 语法,直接可以在js中使用html标签. 还可以通过花括号的形式,在html标签中,写js表达式. <div> { 1 + 2 } hello,world! </div> ...
- React使用JSX语法
目录: 1.在React项目中启用JSX语法 2.在JSX中写js代码 3.使用JSX注意事项 1.在React项目中启用JSX语法 <--返回目录 JSX语法:符合xml规范的js语法 JS ...
- 3.react 基础 - JSX 语法
1.最基础的 JSX 语法 普通javaScript中 引入 标签 let html = '<h1>hello</h1>'; jsx语法 let JSX_html = < ...
- React的jsx语法,详细介绍和使用方法!
jsx语法 一种混合使用html及javascript语法的代码 在js中 遇到<xx>即开始html语法 遇到</xx>则结束html语法 恢复成js语法 例如: let D ...
- React的JSX语法及组件
最近一个同事很急没有做任何交接就请了陪产假,然后我来维护.说实在的我一开始是一脸懵逼的.因为MV*项目里用的最多的还是Vue:React听说也了解过,但毕竟不熟... 不过不管如何这也是工作:同事也恭 ...
随机推荐
- delphi 控件的名称怎么不显示了
选择菜单 Tools--Environment在打开的对话框中选择 Designer 页,选 其中的 Options 选项勾选 Show component captions ,点击 OK即可
- 普通的jdbc事务在插入数据后 下面的代码报错时 数据不会回滚 但是 spring的事务会回滚
普通的jdbc事务在插入数据后 下面的代码报错时 数据不会回滚 但是 spring的事务会回滚
- NOI前各种Idea总结以及各种文本乱堆
转载请注明原文地址:https://www.cnblogs.com/LadyLex/p/9227267.html 不过这篇的确没什么*用了转转吧 2018-6-24 关于一类延迟标记(来自UR14 思 ...
- 【AI科技大本营】
从AutoML.机器学习新算法.底层计算.对抗性攻击.模型应用与底层理解,到开源数据集.Tensorflow和TPU,Google Brain 负责人Jeff Dean发长文来总结他们2017年所做的 ...
- BZOJ4830 [Hnoi2017]抛硬币 【扩展Lucas】
题目链接 BZOJ4830 题解 当\(a = b\)时,我们把他们投掷硬币的结果表示成二进制,发现,当\(A\)输给\(B\)时,将二进制反转一下\(A\)就赢了\(B\) 还要除去平局的情况,最后 ...
- 【bzoj3091】 城市旅行
http://www.lydsy.com/JudgeOnline/problem.php?id=3091 (题目链接) 题意 给出一棵无根树,维护四个操作.link,cut,路径加法,路径期望查询. ...
- Python模块调用方式详解
Python模块调用方式详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其 ...
- IsNullOrWhiteSpace与IsNullOrEmpty
public static boolean IsNullOrEmpty(String value) { return (value == null || value.length() == 0);} ...
- POJ-3295 Tautology (构造)
https://vjudge.net/problem/POJ-3295 题意 有五种运算符和五个参数,现在给你一个不超过100字符的算式,问最后结果是否恒为1? 分析 首先明确各运算符的意义,K(&a ...
- LaTeX字体设置
% 导言区 % 帮助文档 texdoc lshort-zh % 设置normalsize大小 \documentclass[10pt]{ctexart} %article,ctexbook封面, ct ...