现在使用脚手架(react-create-app)的项目不需要在在css文件后面添加module就会自动为其添加模块化后缀

在react 中使用css有以下几种方法

第一种全局使用

app.js

import React from 'react';
import Router from "./router" import './App.css'; function App() {
return (
<div className="App">
<div className='head'><span>app</span></div>
<Router/>
</div>
);
} export default App;

直接在入口文件引入,我这里是app.js 引入或css文件会作用至所有的组件,适合引入全局样式

第二种使用 组件使用css

import React from 'react';
import './home.css' //直接引入css文件
class Home extends React.Component {
constructor(props) {
super(props);
this.state = {
date: new Date().getTime()
}
} componentDidMount() {
function f(){
console.log("ffff");
}
console.log(false||f())
} render() {
return (
<div>
//在jsx中使用
<div className='head'>
<span>主页</span>
</div>
<div><span>{this.date}</span></div>
</div>
)
}
} export {Home}

这种方法和第一种没有太大的区别都是作用在全局上,但是这样引入的css优先级并没有第一种的高

第三种 现在前端都在追求模块化的思想,上述的两种方法,在组件数量非常大的时候,样式污染问题就太痛苦了,所以在进行react开发的时候,普遍都是用,组件独享css样式的方法

CSS Modules

CSS Modules 的做法就是通过配置将.css文件进行编译,编译后在每个用到css的组件中的css类名都是独一无二的,从而实现CSS的局部作用域。具体原理可以看看阮一峰老师的博客     CSS Modules 用法教程

//home.module.css{
head:{ //你定义的类名 被import的时候会变成对象的属性
color:red;
}
} //home.js:
import React from 'react';
import head from'./home.module.css' //将home.css改成,react使用的webpack 会自动识别module.css文件后缀 然后将其编译
class Home extends React.Component {
constructor(props) {
super(props);
this.state = {
date: new Date().getTime()
}
} componentDidMount() {
function f(){
console.log("ffff");
}
console.log(false||f())
} render() {
return (
<div>
<div>
//在jsx中使用
<span className={head.head}>主页</span>
</div>
<div><span>{this.date}</span></div>
</div>
)
}
} export {Home}

还用其他几种引入css的方法,但其目的和第三种都差不多,都是为了防止样式污染,在此就不一一叙述了,感兴趣的同学可以自己百度

react react使用css的更多相关文章

  1. React Native 中 CSS 的使用

    首先声明,此文原作者为黎 跃春 React Native中CSS 内联样式 对象样式 使用Stylesheet.Create 样式拼接 导出样式对象 下面的代码是index.ios.js中的代码: / ...

  2. webpack react 单独打包 CSS

    webpack react 单独打包 CSS webpack require css的方法,默认会把css 打入到js文件中,加载顺序有问题,如果需要打出独立的css文件 操作步骤: step1: 安 ...

  3. 12 react 基础 的 css 过渡动画 及 动画效果 及 使用 react-transition-group 实现动画

    一. 过渡动画 # index.js import React from 'react';import ReactDOM from 'react-dom';import App from './app ...

  4. 聊一聊 React 中的 CSS 样式方案

    和 Angular,Vue 不同,React 并没有如何在 React 中书写样式的官方方案,依靠的是社区众多的方案.社区中提供的方案有很多,例如 CSS Modules,styled-compone ...

  5. [React] React Fundamentals: Integrating Components with D3 and AngularJS

    Since React is only interested in the V (view) of MVC, it plays well with other toolkits and framewo ...

  6. [React] react+redux+router+webpack+antd环境搭建一版

    好久之前搭建的一个react执行环境,受历史影响是webpack3.10.0和webpack-dev-server2.7.1的环境,新项目准备用webpack4重新弄弄了,旧的记录就合并发布了(在没有 ...

  7. React/React Native 的ES5 ES6写法对照表

    //es6与es5的区别很多React/React Native的初学者都被ES6的问题迷惑:各路大神都建议我们直接学习ES6的语法(class Foo extends React.Component ...

  8. React/React Native 的ES5 ES6写法对照表-b

    很多React/React Native的初学者都被ES6的问题迷惑:各路大神都建议我们直接学习ES6的语法(class Foo extends React.Component),然而网上搜到的很多教 ...

  9. React: React组件的生命周期

    一.简介 在前面的第二篇博文中对组件的生命周期虽然做了一个大略介绍,但总感觉说的过于简单,毕竟生命周期是React组件的核心部分.在我们熟练使用React挂载和合成组件来创建应用表现层的过程中,针对数 ...

随机推荐

  1. java-特殊字符转义转换

    常见特殊字符:如下 <>…&—\"·‘’ java替换 /* * 特殊字符转换 */ public static String replacesss(String ss) ...

  2. Base64和3DES算法

    Base64加密算法 Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,可用于在HTTP环境下传递较长的标识信息.它的优点是算法效率高,编码出来的结果比较简短,同时也具有不可读性. ...

  3. Homestead中PHP扩展无phpize难以安装redis扩展的问题及解决办法

    这真是一个非常深的坑.homestead中自带很多版本的php.然而扩展中缺没有phpize,这个东西是php添加扩展需要的东西本人在laravel中需要用到Redis扩展.这个和laravel的pr ...

  4. SQL Server中char、varchar、text和nchar、nvarchar、ntext的区别 (转)

    转:http://blog.csdn.net/jackychu/article/details/4183118 http://www.cnblogs.com/jhxk/articles/1633578 ...

  5. 如何查看red gate安装时的log

    安装界面,点击左上角的log open log file C:\Users\clu\AppData\Local\Temp\{69EEB6B0-A9AD-4BD4-8231-92C992F1FF05}\ ...

  6. python 去除字符串两端字符串

    转载:http://blog.sina.com.cn/s/blog_940224600100w8l0.html Python中的strip用于去除字符串的首位字符,同理,lstrip用于去除左边的字符 ...

  7. spring MVC 返回值信息和ResponseBody的响应json数据

    spring mvc的界面返回: 如果我们定义的返回类型是String 那么我们返回的时候直接写入 我们的界面的名字就可以了  springmvc会自动去找到我们的界面,如果是void类型的返回那么 ...

  8. SQLSERVER 时间日期函数,查询今天日期、昨天、一个星期、半年前的数据

    今天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=0昨天的所有数据:select * from 表名 where D ...

  9. CodeForces - 841B-Godsend-思维

    Leha somehow found an array consisting of n integers. Looking at it, he came up with a task. Two pla ...

  10. 嵌入式C语言4.2 C语言内存空间的使用-指针与修饰符:const,volatile,typedef

    const:变量,只读[不能变] 内存属性: 1. 内存操作的大小 2.内存的变化性,可写可读 char *p; const char *p;     描述字符串,p指向的内容是只读的,不可再次修改 ...