React: class 和 style

一、class

1、在react中使用className属性来绑定类名

复制代码
<div className="header flex-middle-middle">
	添加2个类名
</div>

2、动态添加类名

复制代码
<div className={`item ${name=='active' ? 'active' : ''}`}>
	动态添加active类名
</div>

二、style

1、react中内联样式放到{``{}}中,样式之间用,隔开。

复制代码
<div style={{color:'red',fontSize:12}}>
	这是内联样式
</div>

2、动态添加样式

复制代码
<div style={{display: (show? "block" : "none"), "color":"yellow"}}>
	根据show来决定是否显示
</div>

三、样式冲突解决办法

Vue项目中有scoped属性限制,一般不会发生样式冲突的问题。

React项目中css是全局的,所以不同组件之间的样式经常出现覆盖互相影响的问题。避免的方法之一是:使用module方法来解决,具体如下:

1、css/less/scss文件的命名写成**.module.css **.module.less **.module.scss等。

复制代码
// header.module.less 文件
.header {
  height: 80px;
  font-size: 30px;
  color: #000000;
  font-weight: 600;
  text-align: center;
}

2、组件中引入并使用

复制代码
import  styles from './header.module.less';

<div className={styles.header}>这是Header</div>
相关推荐
青青家的小灰灰2 小时前
金三银四面试官最想听的 React 答案:虚拟 DOM、Hooks 陷阱与大型列表优化
前端·react.js·面试
光影少年3 小时前
在 React 中,什么情况下需要用 useCallback 和 useMemo?它们的区别是什么?
前端·react.js·掘金·金石计划
符方昊1 天前
React 19 对比 React 16 新特性解析
前端·react.js
不会敲代码11 天前
前端组件化样式隔离实战:React CSS Modules、styled-components 与 Vue scoped 对比
css·vue.js·react.js
阿虎儿1 天前
React Hook 入门指南
前端·react.js
阿虎儿1 天前
React Context 详解:从入门到性能优化
前端·vue.js·react.js
青青家的小灰灰1 天前
React 反模式(Anti-Patterns)排查手册:从性能杀手到逻辑陷阱
前端·javascript·react.js
青青家的小灰灰1 天前
告别 Prop Drilling:Context API 的陷阱、Reducer 模式与原子化状态库原理
前端·javascript·react.js
ssshooter2 天前
看完就懂 useSyncExternalStore
前端·javascript·react.js
青青家的小灰灰2 天前
迈向全栈新时代:SSR/SSG 原理、Next.js 架构与 React Server Components (RSC) 实战
前端·javascript·react.js