React jsx构成:
1.react组件或HTML元素(React DOM 使用驼峰属性命名约定);
2.JS表达式;
主要包括:
(1)元素表达式(常量、保留字、变量)
(2)对象和数组的初始化表达式
(3)函数表达式(类似formatName(user))
(4)属性访问表达式(类似user.firstName)
(5)调运表达式(类似Math.max(x,y,z))
(6)对象创建表达式(类似new Object())
3.运算符(连接JS表达式);
4.用花括号把任意的 JavaScript 表达式嵌入到JSX中。
注意事项:当jsx有嵌套层级时,建议使用括号包裹jsx,避免分号自动插入的陷阱。
优势:JSX 防止注入攻击,在JSX中嵌入用户输入是安全。
JSX 防止注入攻击的原理:在渲染之前, React DOM 会格式化JSX中的所有值. 从而保证用户无法注入任何应用之外的代码. 在被渲染之前,所有的数据都被转义成字符串处理。以避免 XSS(跨站脚本) 攻击。