React-组件-CSS-In-JS

简介: React-组件-CSS-In-JS

前言


React组件CSS-in-JS是一种流行的前端开发技术,它将组件的JavaScript逻辑与样式定义结合在一起,以提高代码的可维护性和可重用性。通过CSS-in-JS,开发者可以在组件级别轻松管理样式,而不必担心全局污染或类名冲突。

这种方法使用JavaScript对象来描述样式,这些对象可以根据组件的状态或属性进行动态计算,从而实现高度灵活的样式处理。常见的React CSS-in-JS库包括Styled-components和Emotion。


CSS-in-JS还可以提供一些额外的好处,如自动前缀处理和代码拆分,以提高性能。但需要注意,它可能需要一些学习曲线,并且可能不适合所有项目。总之,React组件CSS-in-JS是一个强大的工具,可以帮助开发者更轻松地管理组件样式,从而提高前端开发的效率和可维护性。


  • 在 React 中, React 认为结构和逻辑是密不可分的, 所以在 React 中结构代码也是通过 JS 来编写的
  • 正是受到 React 这种思想的影响, 所以就有很多人开发了用 JS 来编写 CSS 的库

比较火热的库有:styled-components / emotion

  • 利用 JS 来编写 CSS, 可以让 CSS 具备样式嵌套、函数定义、逻辑复用、动态修改状态等特性
  • 也就是说, 从某种层面上, 提供了比过去 Less/Scss 更为强大的功能
  • 所以 CSS-In-JS, 在 React 中也是一种比较推荐的方式




styled-components 的使用


  • 安装 styled-components
npm install styled-components --save


  • 导入 styled-components
import styled from 'styled-components';


  • 利用 styled-components 创建组件并设置样式
styled.div`
  xxx:xxx
`




案例


import React from 'react';
import styled from 'styled-components';
const StyleDiv = styled.div`
    p{
        font-size: 50px;
        color: red;
    }
    a{
       font-size: 25px;
       color: green;
    }
`;
class Home extends React.Component {
    render() {
        return (
            <StyleDiv>
                <p>我是home段落</p>
                <a href={'https://www.cnblogs.com/yangbuyiya/'}>我是home超链接</a>
            </StyleDiv>
        )
    }
}
export default Home;




注意点


默认情况下,在 webstorm 当中编写 styled-components 的代码是没有任何的代码提示的 如果想要有代码提示,那么必须给 webstorm 安装一个插件,插件名字为 webstorm-styled-components由于该插件需要翻墙,所以博主这里提供下载链接:https://www.aliyundrive.com/s/BBGgHFiH7fd



最后

本期结束咱们下次再见👋~

🌊 关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。大家点赞支持一下哟~ 💗

相关文章
|
21天前
|
监控 前端开发 JavaScript
React 静态网站生成工具 Next.js 入门指南
【10月更文挑战第20天】Next.js 是一个基于 React 的服务器端渲染框架,由 Vercel 开发。本文从基础概念出发,逐步探讨 Next.js 的常见问题、易错点及解决方法,并通过具体代码示例进行说明,帮助开发者快速构建高性能的 Web 应用。
56 10
|
20天前
|
资源调度 前端开发 数据可视化
构建高效的数据可视化仪表板:D3.js与React的融合之道
【10月更文挑战第25天】在数据驱动的时代,将复杂的数据集转换为直观、互动式的可视化表示已成为一项至关重要的技能。本文深入探讨了如何结合D3.js的强大可视化功能和React框架的响应式特性来构建高效、动态的数据可视化仪表板。文章首先介绍了D3.js和React的基础知识,然后通过一个实际的项目案例,详细阐述了如何将两者结合使用,并提供了实用的代码示例。无论你是数据科学家、前端开发者还是可视化爱好者,这篇文章都将为你提供宝贵的洞见和实用技能。
42 5
|
1月前
|
前端开发 JavaScript
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
159 1
|
1月前
|
前端开发 JavaScript
React Tailwind CSS
10月更文挑战第12天
9 1
|
1月前
|
数据可视化 前端开发 搜索推荐
FLEX组件可视化设计器CSS3代码生成器
FLEX组件可视化设计器CSS3代码生成器
38 4
|
1月前
|
JavaScript 前端开发 API
探索Vue.js 3的组合式API:一种更灵活的组件状态管理方式
【10月更文挑战第5天】探索Vue.js 3的组合式API:一种更灵活的组件状态管理方式
|
1月前
|
开发框架 前端开发 JavaScript
React、Vue.js 和 Angular主流前端框架和选择指南
在当今的前端开发领域,选择合适的框架对于项目的成功至关重要。本文将介绍几个主流的前端框架——React、Vue.js 和 Angular,探讨它们各自的特点、开发场景、优缺点,并提供选择框架的建议。
42 6
|
1月前
|
前端开发 容器
React 使用 CSS 样式
10月更文挑战第12天
28 0
|
2月前
|
前端开发 JavaScript API
React、Vue.js 和 Angular前端三大框架对比与选择
前端框架是用于构建用户界面的工具和库,它提供组件化结构、数据绑定、路由管理和状态管理等功能,帮助开发者高效地创建和维护 web 应用的前端部分。常见的前端框架如 React、Vue.js 和 Angular,能够提高开发效率并促进团队协作。
108 4
|
1月前
|
数据可视化 前端开发 数据安全/隐私保护
DIY可视化快速组件CSS样式设计生成源码
DIY可视化快速组件CSS样式设计生成源码
26 0