在上一篇的博客中,我们介绍了react中的style 内联的样式

https://blog.csdn.net/datouniao1/article/details/119569890

但是我们仔细的观察,这样编写样式,着实有点麻烦,我们习惯于平时使用的css 文件导入相关的样式,然后class 等于某一个值。那么应该如何来实现这一功能

首先我们在src 文件夹下面新建一个文件夹 css ,我们写的css的文件到放到这个文件夹下面

我们之前使用的是一个评论的列表的实例,这个地方我们继续来完成,那么之前我们把css 的相关的样式都写成了变量,并且存在到了一个css.js 的文件中,现在我们在src/css/文件夹下面新建一个CommList.css 文件

内容如下:

.title{ color:red;font-size: 1.5rem;text-align: center;
}
.mydiv{padding-left:10px;border:2px solid #ccc;margin-bottom:10px
}
.cmtuser{font-size:1.0rem;color:blue
}

那么我们的css 是独立的,那么肯定要在使用的地方引入.css 文件,所以在index 中需要导入CommList.css

如下:

webpack.config.js 这个配置文件:

项目并不知道.css 文件到底是什么东西,该如何解析,随意我们安装一些模块能解析css 文件

安装style-loader,css-loader

cnpm i style-loader css-loader -D

配置rules:

......   module:{rules:[{test:/\.js|.jsx$/,use:'babel-loader',exclude:/node_modules/},{test:/\.css$/,use:['style-loader','css-loader']}]},
......

然后重新启动项目:npm run dev

启动之后,我们如何引入这些样式:

因为class 是关键字,所以我们采用className 来引用样式,效果如下:

总结:上面我们介绍了React 如何来使用外部的css 文件,并且在使用的时候用className

这个关键字,需要安装style-loader 和css-loader

当然,有的时候我们配置为了解决作用于的问题,常常在配置css-loader的时候增加一个参数:

我们把css-loader 的配置修改成为了:

 {test:/\.css$/,use:['style-loader',{loader:'css-loader',options:{modules:true}}]}

这个是启用css 的模块化,那么这样的配置有什么样的作用呢,这个是将我们导入的css 转换为一个对象,通过这个对象可以将文件中定义的样式点出来

我们打印看一下:


import cssobj from '@/css/CommList.css'
console.log(cssobj);

我们看一下控制台输出的效果:

这样我们比如要使用title的样式可以将代码修改为如下:

        return <div><h1 className={cssobj.title}>下面是评论列表</h1>{this.state.commentList.map((item,index)=>{return <div key={item.id} className={cssobj.mydiv}><h1 className={cssobj.cmtuser}>评论人: {item.user}</h1><p>评论内容: {item.content}</p></div>})}</div>

效果如下:

以上我们看到了如何在项目中引入相关的css文件,以及启动css 文件的模块化的功能

希望对你有所帮助

React 项目----className 样式 (13)相关推荐

  1. React 项目----内联样式style的使用 (12)

    在此我们之前学习了react的基本的语法,对于页面我们还经常关注的是页面的样式,那么react 项目中,我们应该如何使用样式 首先我们来做一个简单的页面一个评论的列表 模拟数据: commentLis ...

  2. 构建一个react项目_您想要了解更多有关React的内容吗? 让我们构建一个游戏,然后玩。...

    构建一个react项目 by Samer Buna 通过Samer Buna 您想要了解更多有关React的内容吗? 让我们构建一个游戏,然后玩. (Do you want to learn more ...

  3. 前端—react项目及版本更新对比

    介绍: 项目搭建逻辑:1)项目中index.html中渲染的内容.2)看main.js中绑定的组件渲染 React框架 由Facebock开源的一款前端框架. 工作中使用的版本: react:16.2 ...

  4. 2023新春版:看这篇大宝典就够了!从零搭建React项目全家桶

    React是近年来前端开发领域非常热门的技术框架,其背景是Facebook团队的技术支持,在全球的前端开发市场上占有率很高.结合React丰富的社区资源,可以让项目开发如虎添翼.虽然React的学习门 ...

  5. 中使用js修改变量值_谈一谈css-in-js在React项目中的使用

    一.什么是css-in-js 参考:[css in js 简介] 简单来说,传统的前端方案推崇"关注点分离"原则,HTML.CSS.JavaScript 应该各司其职,进行分离. ...

  6. react安装_超全面详细一条龙教程!从零搭建React项目全家桶(上篇)

    React是近几年来前端项目开发非常火的一个框架,其背景是Facebook团队的技术支持,市场占有率也很高.很多初学者纠结一开始是学react还是vue.个人觉得,有时间的话,最好两个都掌握一下.从学 ...

  7. react中样式冲突_如何通过React中的样式使您的应用漂亮

    react中样式冲突 by Vinh Le 由Vinh Le 如何通过React中的样式使您的应用漂亮 (How to make your apps pretty with styling in Re ...

  8. react 图片放在src里面还是public_手写Webpack从0编译Vue/React项目

    当前前端开发,90%的项目都是Vue和React,然而70%的同学都基于脚手架创建项目,因为脚手架会包含项目基本框架.webpack配置.scss/sass/less解析.babel配置.DevSer ...

  9. React简介、虚拟DOM、Diff算法、创建React项目、JSX语法、组件、组件声明方式、组件传值props和state、组件的生命周期

    React简介: 前面只是简单介绍移动APP开发,后面还会继续深入介绍移动app开发:其中想要用ReactNative开发出更出色的应用,那么就得学好React,下面将介绍React: React 是 ...

最新文章

  1. 025批量删除mac文件名中的空格
  2. Java8 Stream 使用
  3. python散点图拟合曲线-【python常用图件绘制#01】线性拟合结果图
  4. nginx开发从入门到精通 http://tengine.taobao.org/book/
  5. 二 计算机技术与机械电子技术的关系,机械电子工程与人工智能的关系初探
  6. TCP 之 RST 原因分析
  7. Python缩进的几个原则
  8. js里面拼接代码和使用ModelAndView
  9. linux 脚本 整数 赋值,shell基础!!熟悉编程规范与变量
  10. 15 CT04创建特性程序DUMP解决方法
  11. 叠螺机_叠螺机如何实现全自动喷淋维护
  12. c语言if语句教学设计,C实验教案(清华)
  13. DHCP与DHCP中继--原理与配置--华为实验--配置接口模式、全局模式以及中继模式
  14. “逃离北上广”——你以为回到小城市就很幸福了么?
  15. 许知远:嗨!Julia
  16. ImageMagick中的convert命令转JEPG图像到PNG
  17. 很「佛系」的商用本 — ThinkPad S2 2020 长测
  18. java 北京时间 东八区时间 Android calendar时区无效问题
  19. 11款当前主流平板芯片横向对比评测
  20. 孤单是对你最好的惩罚

热门文章

  1. LINUX TOP,不是这样玩地!!!
  2. 改进粒子群优化算法(IWAPSO)的MATLAB源程序
  3. KeyDown、KeyPress和KeyUp事件的区别与联系
  4. 面试官:引入RabbitMQ后,你如何保证全链路数据100%不丢失?
  5. Netflix实用API设计 1:Protobuf FieldMask实践
  6. 全民K歌直播推荐算法实践
  7. 达摩院基于元学习的对话系统
  8. Kafka 基本原理(8000 字小结)
  9. Java中的注解到底是如何工作的?
  10. 面试官最讨厌的三种求职者