返回顶部
首页 > 资讯 > 前端开发 > JavaScript >react中JSX的注意点详解
  • 762
分享到

react中JSX的注意点详解

2024-04-02 19:04:59 762人浏览 泡泡鱼
摘要

目录1 jsX 是一个表达式2 JSX 的属性2.1 驼峰命名2.2 style 接收一个对象3 JSX 标签没有子元素4 JSX 防止注入攻击5 唯一父元素总结1 JSX 是一个表

1 JSX 是一个表达式

JSX 是 javascript 的语法扩展,本质上是 React.createElement()方法的语法糖。

Babel 会把 JSX 转译成一个名为 React.createElement() 函数调用,所以它被看作一个表达式。

这意味着你可以在 if 语句和 for 循环的代码块中使用 JSX,将 JSX 赋值给变量,把 JSX 当作参数传入,以及从函数中返回 JSX:

function getGreeting(user) {
  if (user) {
    return <h1>Hello, {fORMatName(user)}!</h1>;
  }
  return <h1>Hello, Stranger.</h1>;
}

2 JSX 的属性

2.1 驼峰命名

JSX 是 JS 的扩展,所以使用驼峰命名来定义属性的名称,而不使用html 属性名称的命名约定

比如:

<div className="container"></div>

上述 JSX 表达式中 class 写作 className

2.2 style 接收一个对象

style 接收一个对象,而不是字符串

比如:

let style = {
    width: "100px",
    height: "100px",
    background: "red"
};
ReactDOM.render(
    <div className="box" style={style}></div>,
    document.querySelector("#root")
); 

3 JSX 标签没有子元素

如果一个标签中没有内容,可以使用/>来闭合标签

比如:

const element = <img src={user.avatarUrl} />;

4 JSX 防止注入攻击

可以安全地在 JSX 中插入用户输入内容

React DOM 在渲染所有输入内容之前,默认会进行转义。它可以确保在你的应用中,永远不会注入那些并非自己明确编写的内容。所有的内容在渲染之前都被转换成了字符串。这样可以有效地防止 XSS攻击。

5 唯一父元素

JSX 表达式必须有一个父元素

换句话说,下面的写法会报错

ReactDOM.render(
    <div className="box" style={style} />
    <input type="text" />,
    document.querySelector("#root")
);

正确的写法:

ReactDOM.render(
    <div>
        <div className="box" style={style} />
        <input type="text" />
    </div>,
    document.querySelector("#root")
);

如果我们不想让父元素被渲染在页面上,可以使用React.Fragment

React.Fragment 组件能够在不额外创建 DOM 元素的情况下,让 render() 方法中返回多个元素。

render() {
  return (
    <React.Fragment>
      Some text.
      <h2>A heading</h2>
    </React.Fragment>
  );
}

也可以使用其简写语法 <></>,请参阅 React v16.2.0: Fragments 支持改进。

render() {
  return (
    <>
      Some text.
      <h2>A heading</h2>
    </>
  );
}

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!  

--结束END--

本文标题: react中JSX的注意点详解

本文链接: https://lsjlt.com/news/142091.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • react中JSX的注意点详解
    目录1 JSX 是一个表达式2 JSX 的属性2.1 驼峰命名2.2 style 接收一个对象3 JSX 标签没有子元素4 JSX 防止注入攻击5 唯一父元素总结1 JSX 是一个表...
    99+
    2024-04-02
  • react中JSX的注意点有哪些
    今天小编给大家分享一下react中JSX的注意点有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1 JSX 是一个表达式...
    99+
    2023-06-29
  • React详细讲解JSX和组件的使用
    目录一、React JSX1.1 JSX简介1.2 JSX表达式1.3 JSX条件表达式1.4 JSX循环表达式1.5 JSX样式表达式1.6 JSX注释表达式二、React组件2....
    99+
    2024-04-02
  • React中JSX与react事件的示例分析
    小编给大家分享一下React中JSX与react事件的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、JSX1.1、表...
    99+
    2024-04-02
  • vue3:setup的两个注意点详解
    目录在vue2中在vue3中setup的注意点setup生命周期在beforecreated之前setup可以拿到两个参数,props和contextcontext.attrscon...
    99+
    2024-04-02
  • React forwardRef的使用方法及注意点
    之前使用react.forwardRef始终无法应用于react高阶组件中,最近终于捣鼓出来了,于是记录下来。关键点就是React.forwardRef的API中ref必须指向dom...
    99+
    2024-04-02
  • hooks写React组件的5个注意细节详解
    目录正文01.不需要render的场景下使用useState02.使用了router.push而非link03.通过useEffect来处理actions04.单一职责组件05.单一...
    99+
    2023-03-13
    hooks写React组件 React hooks
  • c++基础使用STL的注意点详解
    总结 本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容! ...
    99+
    2024-04-02
  • 浅谈@RequestMapping注解的注意点
    目录@RequestMapping注解注意点类上加没加@RequestMappin注解区别@RequestMapping一个坑@RequestMapping注解注意点 类上加没加@R...
    99+
    2024-04-02
  • React hooks的优缺点详解
    目录前言 优点:缺点:一、响应式的useEffect 二、状态不同步 怎么避免react hooks的常见问题 前言 Hook 是 React 16.8 的新增特性。它是完全可选的...
    99+
    2024-04-02
  • python中函数默认值使用注意点详解
    当在函数中定义默认值时,值初始化只会进行一次,就是执行到def methodname时执行。看下面代码: from datetime import datetime def test(t=datet...
    99+
    2022-06-04
    详解 函数 默认值
  • SpringCloud Gateway的基本入门和注意点详解
    目录1.gateway和zuul2.使用gateway的路由功能1. 搭载springcloud gateway2.简单使用gateway1.application配置1.gatew...
    99+
    2024-04-02
  • React项目使用ES6解决方案及JSX使用示例详解
    目录不使用 ES6绑定JSX如何?不使用 ES6 然而,在纯浏览器端使用ES6语法时,浏览器支持存在差异,这需要特殊处理才能正常运行。 支持ES2015桌面浏览器 Chrome:从...
    99+
    2022-12-23
    React项目ES6 JSX使用 React ES6 JSX
  • 详解Vue3+Vite中怎么使用JSX
    虽然 jsx 最早是由 React 引入,但实际上 JSX 语法并没有定义运行时语义,并且能被编译成各种不同的输出形式。如果你之前使用过 JSX 语法,那么请注意 Vue 的 JSX 编译方式与 React 中 JSX 的编译方式不同,因此...
    99+
    2023-05-14
    Vue vue3 vite JSX
  • 一文详解vue3中使用JSX的方法
    在 Vue 3 的项目开发中,template 是 Vue 3 默认的写法。虽然 template 长得很像 HTML,但 Vue 其实会把 template 解析为 render 函数,之后,组件运行的时候通过 render 函数去返回虚...
    99+
    2022-11-25
    JSX Vue vue3
  • 详解Golang中interface{}的注意事项
    目录interface {} 可以用于模拟多态interface{} 需要注意空和非空的情况iface结构体,非空eface结构体interface {} 可以用于模拟多态 xdm ...
    99+
    2023-03-08
    Golang interface{}注意实现 Golang interface{} Golang interface Go interface
  • Kotlin对象比较注意点示例详解
    目录背景原因另一个问题解决办法结论背景 现有一个StateFlow及其监听 private val stateFlow = MutableStateFlow(kotlin.Pair&...
    99+
    2024-04-02
  • aspectjweaver:关于Spring注解AOP的注意点
    在使用Spring注解AOP时,有以下几个注意点:1. 引入相应的依赖:在使用Spring注解AOP时,需要引入aspectjwea...
    99+
    2023-09-13
    Spring
  • Python冒泡排序注意要点实例详解
    冒泡排序注意三点: 1. 第一层循环可不用循环所有元素。 2.两层循环变量与第一层的循环变量相关联。 3.第二层循环,最终必须循环集合内所有元素。 示例代码一: 1.第一层循环,只循环n-1个元素。 2....
    99+
    2022-06-04
    详解 要点 实例
  • React中需要注意的事项有哪些
    小编给大家分享一下React中需要注意的事项有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、容器性组件(containe...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作