美文网首页
React中的样式私有化方案

React中的样式私有化方案

作者: 我没叫阿 | 来源:发表于2023-07-19 15:20 被阅读0次

样式私有化实现方案

  1. 内联式【行内样式】

  2. 规范命名方案【人为控制组件最外层className不重复】

  3. css Modules【文件命名为home.module.css,只能是css文件,不能是less、sass ...】

    import styles from './home.module.css'
    
    <div className="styles.box"></div>
    
  4. react-jss

    import {createUseStyles} from 'react-jss'
    
    // 基于createUseStyles方法,构建组件需要的样式,返回结果是自定义hook函数【只能在函数组件中使用,如果在类组件中使用需要用高阶组件做代理】
    
    const useStyles = createUseStyles({
        // 设置类名
      box:{
        backgroundColor:'blue',
        '&:hover':{
          color:'red'
      }
      }
    })
    
    let { box } = useStyles   
    <div className={ box }></div>
    
  1. styled-components
    • 基于styled.标签名这种方式编写
    • 样式写在ES6的模版字符串中
    • 返回并导出的结果是一个自定义组件
// 1.新建一个MenuStyle.js文件
import styled from 'styled-components'

export const MenuBox = styled.menu`
 background-color: #333;
 width:100px;
  .title{
    font-size:20px
  }
  span{
    &:hover{
      color:${props=>props.hover}
    }
  }
`

// 2.在jsx文件中导入 MenuStyle.js
import { MenuBox } from './MenuStyle'

// 3.使用:在函数组件中return出来一个叫MenuBox的标签
<MenuBox>
 <div className="title">
   <span hover="blue">文字</span>
 </div>
<MenuBox/>

相关文章

  • vue 高级技巧

    1.css 局部样式 vue 中style样式添加scoped属性表示它的样式只作用于当前组件,样式私有化。 但是...

  • 长辈版页面方案&全局变量的应用场景

    前情提要 React 项目,Vue 项目实现相同功能,页面长辈版标准版样式切换 方案一 react hooks ...

  • React使用less module修改antd样式

    前言 react项目使用less,开发中需要修改antd样式,但又不需要全局修改,记录一下解决方案。 解决方案 s...

  • react样式方案 分析

    在react中,BEM、ocss、smamacss这些(外置)css不是合适(理由待补充),其后出现的css mo...

  • React Native学习-04-style、尺寸、布局

    React Native 中的样式 在React Native中不需要其他的语言或者语法来定义样式,只需要Java...

  • vue css

    局部样式1.Vue中style标签的scoped属性表示它的样式只作用于当前模块,是样式私有化. 2.渲染的规则/...

  • deep selector深度作用选择器

    前言:Vue的组件中,可以在 标签上添加scoped属性,实现组件样式的私有化,不会对全局造成样式污染。 scop...

  • React中的样式

    目前整个前端已经是组件化的天下: 而CSS的设计就不是为组件化而生的,所以在目前组件化的框架中都在需要一种合适的C...

  • vue中scoped的原理

    vue组件中的scoped是很常用的属性,用于将组件的样式私有化,防止样式污染全局,那它又是如何实现的? 先来看一...

  • ReactNative 爬坑之布局跟样式

    Style属性介绍 在React Native 中 样式其实使用第JavaScript 的样式来写的。所有的核心组...

网友评论

      本文标题:React中的样式私有化方案

      本文链接:https://www.haomeiwen.com/subject/cltaudtx.html