React引入css的几种方式及应用小结

 更新时间:2024年03月02日 14:55:05   作者:sunshine_程序媛  
这篇文章主要介绍了React引入css的几种方式及应用小结,操作styled组件的样式属性,可在组件标签上定义属性、也可以通过attrs定义属性,本文通过实例代码介绍的非常详细,需要的朋友可以参考下

1.直接引入css文件

import "./parent.css"

2.引入css模块,定义文件名[组件名.module.css];该方式可避免类名的重复,每个组件都有独立的作用域,避免了全局污染,保证了类名的唯一性

import styles from "./parent1.module.css"
.title{
    color: red;
}
<h2 className={styles.title} style={{ background:'pink' }}>我是父组件</h2>

3.第三方依赖库styled-components,需要下载第三方依赖库,定义每个组件的样式 

 下载依赖库指令:npm install styled-components -S

import styleComponents from "styled-components"
// 自定义样式的组件 注意定义的首字母大写,不然不生效
const StyleP = styleComponents.p`
    color: green;
    font-size: 30px;
    font-weight: bolder;
`
const StyleTitle = styleComponents.h1`
    color: red
`
<StyleTitle>第三方库引入css demo</StyleTitle>
<StyleP>第三方库引入css demo</StyleP>

4.应用 

(1)传参;在组件标签上绑定参数,通过箭头函数获取并操作参数

const Wrapper = styled.div`
    width: ${props => props.wrapperWidth};
    height: ${({wrapperHeight}) =>parseInt(wrapperHeight)/2 + 'px'};
    background: red;
`
<Wrapper wrapperWidth="200px" wrapperHeight="100px"></Wrapper>

(2)继承;通话styled来继承父组件的样式属性

const ParentItem = styled.div`
    display: block;
    color: yellow;
    text-align: center;
    line-height: 1.5;
    font-size: 20px;
`
const Item = styled(ParentItem)`
    color: blue;
    font-size: 16px;
    &:nth-child(2n-1){
        background: #00ffe4;
    }
`
<ParentItem style={{color: 'red'}}>姜虎东</ParentItem>
<Item>都到曦</Item>
<Item style={{color: '#fff'}}>郑九元</Item>

(3)操作styled组件的样式属性;可在组件标签上定义属性、也可以通过attrs定义属性

const UserInput = styled.input`
    display: block;
    width: 500px;
`
// 通过attr定义属性
const PasswordInput = styled.input.attrs(({ type, placeholder }) => ({ 
    type: type ? type : 'text',
    placeholder: placeholder || '请输入'
}))`
    display: block;
`
用户名:<UserInput value={this.state.username} type="text" placeholder="请输入用户名"></UserInput>
用户:<PasswordInput value={this.state.username}></PasswordInput>
{/* 在组件标签上定义属性 */}
密码:<PasswordInput value={this.state.password} type="password" placeholder="请输入密码"></PasswordInput>

到此这篇关于React引入css的几种方式以及应用的文章就介绍到这了,更多相关React引入css内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • React更新组件状态的常用方法

    React更新组件状态的常用方法

    React是一个用于构建用户界面的JavaScript库,广泛应用于开发现代单页应用(SPA),在 React 中,状态管理是一个关键概念,因为它直接影响到组件的渲染和用户体验,本文将深入探讨 React 中如何更新组件状态,需要的朋友可以参考下
    2025-06-06
  • React中处理表单数据实现方式

    React中处理表单数据实现方式

    本文介绍了如何在React中处理表单数据,包括控制组件和非控制组件的使用,通过控制组件,表单的输入值由React组件的状态控制;非控制组件通过ref来访问表单输入的当前值,文章还展示了如何处理多个输入和添加验证和样式,以提供更好的用户体验
    2025-02-02
  • react项目使用json-server模拟接口获取数据的操作方法

    react项目使用json-server模拟接口获取数据的操作方法

    文章介绍了如何在React项目中使用json-server模拟接口并获取数据,首先安装json-server,创建JSON格式的数据文件,并在package.json中添加启动命令,启动服务后,可以通过指定的路径获取模拟的数据,感兴趣的朋友一起看看吧
    2025-11-11
  • 工程级 React 注册登录全栈级流程分析

    工程级 React 注册登录全栈级流程分析

    这篇文章主要介绍了工程级 React 注册登录全栈级流程,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • 使用React代码动态生成栅格布局的方法

    使用React代码动态生成栅格布局的方法

    这篇文章主要介绍了使用React简短代码动态生成栅格布局的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • TS装饰器bindThis优雅实现React类组件中this绑定

    TS装饰器bindThis优雅实现React类组件中this绑定

    这篇文章主要为大家介绍了TS装饰器bindThis优雅实现React类组件中this绑定,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • 基于json-render的流式表单渲染方案详细解析

    基于json-render的流式表单渲染方案详细解析

    json-render是由vercel开源的一项前沿技术,旨在应对ai自动生成ui过程中常见的不可控性难题,这篇文章主要介绍了基于json-render的流式表单渲染方案的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2026-06-06
  • ahooks整体架构及React工具库源码解读

    ahooks整体架构及React工具库源码解读

    这篇文章主要为大家介绍了ahooks整体架构及React工具库的源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • React实现骨架屏的示例代码

    React实现骨架屏的示例代码

    这篇文章主要为大家详细介绍了如何通过React自动化实现骨架屏,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-11-11
  • 手动用webpack搭建第一个ReactApp的示例

    手动用webpack搭建第一个ReactApp的示例

    本篇文章主要介绍了手动用webpack搭第一个 ReactApp的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04

最新评论