首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

React组件名称,如BEM

React是一个流行的JavaScript库,用于构建用户界面。它采用组件化的开发方式,将界面拆分成独立的可复用组件。在React中,组件名称通常遵循一定的命名规范,如BEM(Block Element Modifier)。

BEM是一种命名约定,用于标识和描述React组件的结构和样式。它由三个部分组成:块(Block)、元素(Element)和修饰符(Modifier)。

  1. 块(Block):块是一个独立的、可复用的组件,代表一个完整的功能或模块。块的命名应该简洁、清晰,并且具有描述性。例如,一个导航栏组件可以命名为"Navbar"。
  2. 元素(Element):元素是块的组成部分,不能独立存在。元素的命名应该以块名为前缀,用双下划线"__"与块名分隔。例如,导航栏中的链接可以命名为"Navbar__Link"。
  3. 修饰符(Modifier):修饰符用于描述块或元素的不同状态或变体。修饰符的命名应该以块或元素名为前缀,用单下划线"_"与修饰符名分隔。例如,导航栏的选中状态可以使用修饰符"Navbar_selected"。

BEM命名规范的优势在于提供了一种一致且可读性强的命名方式,使得组件的结构和样式更易于理解和维护。同时,它也能够有效地避免命名冲突和样式污染的问题。

在React开发中,可以使用BEM命名规范来命名组件及其相关样式类,以提高代码的可读性和可维护性。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云服务器(CVM):提供弹性计算能力,支持多种操作系统和应用场景。详情请参考:https://cloud.tencent.com/product/cvm
  • 腾讯云对象存储(COS):提供安全、稳定、低成本的云存储服务,适用于图片、视频、文档等各种类型的数据存储。详情请参考:https://cloud.tencent.com/product/cos
  • 腾讯云人工智能(AI):提供丰富的人工智能服务,包括图像识别、语音识别、自然语言处理等。详情请参考:https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):提供全面的物联网解决方案,帮助用户快速构建和管理物联网设备。详情请参考:https://cloud.tencent.com/product/iot
  • 腾讯云区块链(BCBaaS):提供安全、高效的区块链服务,支持快速搭建和管理区块链网络。详情请参考:https://cloud.tencent.com/product/baas
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

组件库使用BEM

bem的优势 最近在开发一个组件库,选择了BEM作为css的组织形式,主要考虑了以下三个方面的优势: 逻辑分层,容易理解。...BEM基于block、element、modify的组织形式,基本与组件的组织形式吻合。只要遵循了BEM的命名方式,对于开发和修改组件,哪些元素和状态已经存在,都可以直观的看出来。...反过来,通过html标记的BEM命名,可以直观地理解组件的功能和依赖关系。 强约束,便于团队协作。...只要定义好了大的框架和命名,那么团队其他成员基于BEM的规范进行开发,理解成本降低,而且基本不存在样式冲突的问题。...预编译器支持 目前常用的css预编译器,sass、less、stylus,基本对BEM的支持都很好,举个例子(语法差异暂时忽略): .block { &__element { }

48730

CSS — BEM 命名规范

: .sub-block__element {} .sub-block--modifier {} 1.2 BEM 命名法的好处 BEM的关键是,可以获得更多的描述和更加清晰的结构,从其名字可以知道某个标记的含义...BEM 格式 在当前流行的 Vue.js / React / Angular 等前端框架中,都有 CSS 组件级作用域的编译实现,其基本原理均为利用 CSS 属性选择器特性,为不同的组件生成不同的属性选择器...当你选择了这种局部作用域的写法时,在较小的组件中,BEM 格式可能显得没那么重要。但对于公共的、全局性的模块样式定义,还是推荐使用 BEM 格式。...另外,对于对外发布的公共组件来说,一般为了风格的可定制性,都不会使用这种局部作用域方式来定义组件样式。此时使用 BEM 格式也会大显其彩。...2.4 避免 .block__el1__el2 的格式 在深层次嵌套的 DOM 结构下,应避免过长的样式名称定义。

2.6K31

React - 组件:函数组件

组件名字首字母一定是大写的 2. 返回一个jsx 3. jsx依赖React,所以组件内部需要引入React 4. 组件传参 a. 传递....缺点:【无状态组件】只能实现很简单的视图展示功能,没有自己的内容数据、没有状态,没有逻辑处理,【没有this】,【没有生命周期】。 6. 16.7以后版本的react有状态和钩子函数提供使用。...也可以直接调用函数,实现函数组件引用。 ? 函数组件里可以返回一个字符串: ? 但是没有返回值就会报错: ? 组件之间写内容不会展示出来: ? 组件身上写className没用: ?...渲染的结果如下:没有组件中的内容,也没有class类名 ? 独立写在js里的函数组件: 必须引入React才能使用、导出函数本身。代码如下 ? 组件传参: 传入 - 属性传参 ?...函数组件的缺点: 无状态组件 函数组件只能实现非常简单的渲染功能。只是进行页面的展示和数据的渲染。没有逻辑的处理。也就是组件的内部是没有自己的数据和状态的。它是无状态组件

1.7K30

React组件复用

对于组件中的方法和数据的来源不明确,不容易维护 Mixins 导致名称冲突 Mixins 导致滚雪球般的复杂性 render-props技术 组件复用的说明 思考:如果两个组件中的部分功能相似或相同...操作state的方法 复用组件的状态和组件的逻辑,组件的UI不一样 两种解决方案 render-props HOC(高阶组件) 注意:这两种方式不是新的API,而是利用React自身特点的编码技巧...传进来的函数负责渲染UI 问题2:如果获取组件内部的状态 在组件内部调用方法的时候,把状态当成参数进行传递 class Mouse extends React.Component {...{mouse.x},{mouse.y} )}/> children代替render属性 注意:并不是该模式叫 render props 就必须使用名为render的prop,实际上可以使用任意名称的....this.state} /> } } return Mouse } 使用步骤 创建一个函数,名称约定以 with 开头 指定函数参数(作为要增强的组件) 传入的组件只能渲染基本的

1.3K60

React 组件通讯

目录 1、组件通讯的三种方式 1.1 父子关系 1.2 兄弟关系 1.3 跨组件通信Context 2、 组件的 props ---- 组件是独立且封闭的单元,默认情况下,只能使用组件自己的数据。...在组件化过程中,我们将一个完整的功能拆分成多个组件,以更好的完成整个应用的功能。 而在这个过程中,多个组件之间不可避免的要共享某些数据 。...子组件中通过 props 接收父组件中传过来的数据: 类组件使用this.props获取props对象 函数式组件直接通过参数获取props对象 然后我们来看看效果。...狗头 2、子传父 父组件 : 函数子组件: 类子组件: 1.2 兄弟关系 如何实现子组件之间通信? 核心思路:子组件将消息传给一个公共的父组件,再由父组件传给另外一个子组件。...这样我们就实现了跨组件通讯,就不需要一个一个往下传递了。 2、 组件的 props 组件是封闭的,要接收外部数据应该通过 props 来实现。 props的作用:接收传递给组件的数据。

1.1K00

React组件&事件

React(二) 创建组件 函数组件 函数组件:使用JS的函数或者箭头函数创建的组件 使用 JS 的函数(或箭头函数)创建的组件,叫做函数组件 约定1:函数名称必须以大写字母开头,React 据此区分组件和普通的...(class)组件 约定1:类名称也必须以大写字母开头 约定2:类组件应该继承 React.Component 父类,从而使用父类中提供的方法或属性 约定3:类组件必须提供 render 方法 约定4:...导包 import React from "react" import ReactDom from 'react-dom/client' // 函数组件 没有状态 仅仅做一些数据展示的工作,可以使用函数组件...导包 import React from "react" import ReactDom from 'react-dom/client' // 类组件 有状态 如果有状态,状态需要切换,更新视图 用类组件...导包 import React from "react" import ReactDom from 'react-dom/client' // 类组件 有状态 如果有状态,状态需要切换,更新视图 用类组件

89850

React组件详解

3.6.1 React组件简介 众所周知,组件作为React的核心内容,是View的重要组成部分,每一个View页面都由一个或多个组件构成,可以说组件React应用程序的基石。...在React组件构成中,按照状态来分可以分为有状态组件和无状态组件。...目前,React支持三种方式来定义一个组件,分别是: - ES5的React.createClass方式; - ES6的React.Component方式; - 无状态的函数组件方式。...在ES6出现之前,React使用React.createClass方式来创建一个组件类,它接受一个对象作为参数,对象中必须声明一个render方法,render函数返回一个组件实例。...无状态组件React在0.14版本推出的一种新的组件形式,它是一种只负责展示的纯组件

1.5K20

React组件

项目开发组件化已经是目前前端主流技术的一个发展方向了。当你在学习一个新的框架时,组件必是其最基础,也是其最重要的一部分。本篇文章主要介绍React当中的组件如何编写 !...React组件你可以把它看作是一个带有props属性集合和state状态集合并且构造出一个虚拟DOM结构的对象。 创建组件 首先我们通过函数来创建一个组件,函数的名字即是组件的名字!...> 另外我们也可以通过ES6当中的class来定义组件: //类名即为组件名,该类需要继承React.Component class MyComponent extends React.Component...,该类需要继承React.Component class MyComponent extends React.Component { //render的返回内容即是组件的内容...例如: //子组件 function SiteName(props) { return 网站名称:{props.name

68020

React 组件基础

1、React 组件的两种创建方式 React 组件 有两种创建方式,函数组件和类组件。 1.1 使用函数创建组件 使用函数创建组件前,我们要知道一些创建的规则。...组件名称必须首字母大写,react内部会根据这个来判断是组件还是普通的HTML标签。 函数组件必须有返回值,表示该组件的 UI 结构;如果不需要渲染任何内容,则返回 null。...组件就像 HTML 标签一样可以被渲染到页面中。组件表示的是一段结构内容,对于函数组件来说,渲染的内容是函数的返回值就是对应的内容。 使用函数名称作为组件标签名称,可以成对出现也可以自闭合。...代码演示: 效果: 1.2 使用类创建组件 创建规则: 类名称也必须以大写字母开头。 类组件应该继承 React.Component 父类,从而可以使用父类中提供的方法或属性。...语法:on+事件名称={事件处理程序},比如:onClick={() => {}} 注意:React 事件采用驼峰命名法,比如:onMouseEnter、onFocus 示例: Hello.js app.js

1.2K30

React组件基础

组件基本介绍 组件React中最基本的内容,使用React就是在使用组件 组件表示页面中的部分功能 多个组件可以实现完整的页面功能 组件特点:可复用,独立,可组合 [外链图片转存失败,源站可能有防盗链机制...为了区分普通标签,函数组件名称必须大写字母开头 函数组件必须有返回值,表示该组件的结构 如果返回值为null,表示不渲染任何内容 使用函数创建组件 function Hello () {...类组件:使用ES6的class语法创建组件 约定1:类组件名称必须是大写字母开头 约定2:类组件应该继承React.Component父类,从而可以使用父类中提供的方法或者属性 约定3:类组件必须提供...React想要实现这种功能,就需要使用有状态组件来完成。... ) } } 多表单元素的优化 问题:每个表单元素都需要一个单独的事件处理程序,处理太繁琐 优化:使用一个事件处理程序处理多个表单元素 步骤 给表单元素添加name属性,名称

3K20

React 组件进阶

组件标签有子节点时,props 就会有该属性 children 属性与普通的props一样,值可以是任意值(文本、React元素、组件,甚至是函数,jsx) 如果我们像上面 ListItem 标签里面写上东西...常见类型:array、bool、func、number、object、string React元素类型:element 必填项:isRequired 特定的结构对象:shape({}) 我们看看官方的文档...Typechecking With PropTypes – React 接下来我们演示一下必填项吧。 你没有看错哈,这个东西就是这么简单,只是在后面点出来就行了。然后我们看看浏览器控制台。...React lifecycle methods diagram 2.1 生命周期 - 挂载阶段 钩子 函数 触发时机 作用 constructor 创建组件时,最先执行,初始化的时候只执行一次 1....(从页面中消失) 执行清理工作(比如:清理定时器等) 代码演示: import React from "react"; class Test extends React.Component {

53930
领券