国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

在create-react-app中使用css modules的示例代碼

2019-11-19 13:22:39
字體:
來源:轉載
供稿:網友

前言

如果我們從零開始用webpack + es6來結合react開發前端應用,那勢必會在各種webpack配置中消耗大量精力,于是便有了各種腳手架,create-react-app就是其中之一。
對于css modules,在react中,通常用它來避免預料之外樣式規則相互覆蓋以及實現其他功能。

配置彈出配置文件

如果直接使用create-react-app搭建一個項目,所有的配置文件都被隱藏了,整個目錄就先這樣

 

所以,第一步是將所有的配置文件彈出,在根目錄運行以下代碼

npm run eject

彈出之后的文件目錄就先這樣

 

多了script與config兩個文件夾

配置相關文件

打開config文件夾

 

我們需要配置webpack.config.dev.js,如果需要將項目打包輸出的話還得配置webpack.config.prod.js,不過兩個文件配置方法是相同的,以webpack.config.dev.js為例。

搜索css-loader,找到這段代碼

 

如果沒有配置css modules的話,options中是沒有modules選項的,將其設置上即可

使用

我們以一個todo項目的list組件為例簡單介紹一下在react中使用css modules。這個list組件就是一個ul將要做的事項列出來,效果如下

 

吃飯、碎覺就是list組件的展示

先來看css怎么寫,很簡短的代碼如下

.theList{  list-style: none;  padding-left: 0;  width: 255px;}.theList li{  color: #333;  background: rgba(255,255,255,0.5);  padding: 15px;  margin-bottom: 15px;  border-radius: 5px;  cursor: pointer;}

文件名就叫TodoItem.css

jsx文件如下

import React from 'react';import styles from './TodoItem.css';class TodoItem extends React.Component {  constructor(props){    super(props);    this.handleChange = this.handleChange.bind(this);  }  handleChange(e){    this.props.onDelete(e.target.getAttribute('name'));  }  render(){    let todoEntries = this.props.entries;    return (      <!-- 引用樣式 -->      <ul className={styles.theList}>        {todoEntries.map((item)=>{          return (            <li key={item.key} onClick={this.handleChange} name={item.key}>{item.text}</li>          )        })}      </ul>    )  }}export default TodoItem;

這樣,我們在控制臺中查看

 

 

 

相關className被編譯成哈希字符串,而且在不同文件中引入哈希字符串并不相同

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 嵩明县| 眉山市| 苍山县| 晋中市| 琼海市| 镇雄县| 拜城县| 建始县| 通化市| 岱山县| 平乐县| 庄浪县| 康乐县| 瑞丽市| 砚山县| 涟水县| 仙游县| 太仓市| 嵊州市| 微博| 巴里| 武冈市| 环江| 兴安县| 青铜峡市| 龙泉市| 新乡县| 原阳县| 乐昌市| 三穗县| 玉屏| 安义县| 青田县| 乌拉特前旗| 会理县| 施秉县| 长治市| 汝州市| 来宾市| 苍南县| 六安市|