欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

React樣式?jīng)_突解決問題的方法

 更新時間:2023年03月10日 14:51:26   作者:song854601134  
本文主要介紹了React樣式?jīng)_突解決問題的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言:

1、React最終編譯打包后都在一個html頁面中,如果在兩個組件中取一樣類名分別引用在自身,那么后者會覆蓋前者。
2、默認情況下,只要導入了組件,不管組件有沒有顯示在頁面中,組件的樣式就會生效。

解決方案:

  • 手動處理 (起不同的類名,但是項目一大就會導致類名很亂,不利于團隊協(xié)作)
  • CSS IN JS以js的方式來處理css(推薦)
  • css不是一門編程語言,css沒有所有的局部作用域全局作用域這樣的區(qū)分。。。css只有全局作用域

CSS IN JS

一、概念

CSS IN JS:是使用 JavaScript 編寫 CSS 的統(tǒng)稱,用來解決 CSS 樣式?jīng)_突、覆蓋等問題

CSS IN JS 的具體實現(xiàn)有 50 多種,比如:React常用(CSS Modules、styled-components)、 Vue常用(<style scoped> 、css modules)等

推薦使用:CSS Modules React腳手架已集成,可直接使用

二、CSS Modules

  • CSS Modules 通過對 CSS 類名重命名,保證每個類名的唯一性,從而避免樣式?jīng)_突的問題
  • 換句話說:所有類名都具有“局部作用域”,只在當前組件內(nèi)部生效
  • 在 React 腳手架中:文件名、類名、hash(隨機)三部分,只需要指定類名即可 BEM
  • xxxx.module.css

1、自動生成的類名,我們只需要提供 classname 即可
[filename]_[classname]_[hash]
2、
類名:.error {} .red{}
實際生成的類名為:.NavHeader_error__ax7yz .NavHead_red_abcdc (相同命名的類名,經(jīng)過module處理以后,會生成不同的實際類名,特殊標識)

三、在項目中使用css Modules

創(chuàng)建名為 [name].module.css 的樣式文件(React腳手架中的約定,與普通 CSS 作區(qū)分)

組件中導入該樣式文件(注意語法)

通過 styles 對象訪問對象中的樣式名來設(shè)置樣式

在這里插入圖片描述

css module的注意點:

  • 類名最好使用駝峰命名,因為最終類名會生成styles的一個屬性.tabBar {} => styles.tabBar
  • 如果沒有使用駝峰命名,對于不合法的命名,需要使用[]語法.tab-bar {} => styles['tab-bar']
  • 如果是全局的類名,應(yīng)該使用:global(.類名)的方式,不然會把全局類名給修改掉

:global(.icon-map) { }這樣css modules就不會修改掉類名了

四、css module配合sass

  • css moudule也可以配合sass來使用,創(chuàng)建名為[name].module.scss
  • 使用css modules解決Login組件樣式?jīng)_突問題
  • 如果sass文件中使用到了鏈接,需要使用絕對路徑~

在這里插入圖片描述

五、module.scss 使用步驟:

在這里插入圖片描述

在這里插入圖片描述

六、總結(jié)

React樣式?jīng)_突總結(jié):

sass和CSS Moudles 的搭配使用,解決了React中樣式?jīng)_突的問題。

我們?nèi)匀豢梢栽诓煌M件中使用相同類名,但我們需要知道,名字相同的類名在Moudle的作用下,實際類名并不相同,以此確保了,樣式只在當前組件內(nèi)生效。

React采取的是組件化編程,組件和組件對應(yīng)的樣式會放在同一個組件文件夾下。

但我們?nèi)匀恍枰溃涸谧詈缶幾g打包之后,所有組件的解構(gòu)和樣式,都會打包在同一個html頁面中。

到此這篇關(guān)于React樣式?jīng)_突解決問題的方法 的文章就介紹到這了,更多相關(guān)React樣式?jīng)_突內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解React如何實現(xiàn)代碼分割Code Splitting

    詳解React如何實現(xiàn)代碼分割Code Splitting

    這篇文章主要為大家介紹了React如何實現(xiàn)代碼分割Code Splitting示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • React Native時間轉(zhuǎn)換格式工具類分享

    React Native時間轉(zhuǎn)換格式工具類分享

    這篇文章主要為大家分享了React Native時間轉(zhuǎn)換格式工具類,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • React Js 微信禁止復制鏈接分享禁止隱藏右上角菜單功能

    React Js 微信禁止復制鏈接分享禁止隱藏右上角菜單功能

    這篇文章主要介紹了React Js 微信禁止復制鏈接,分享,禁止隱藏右上角菜單的解決代碼,需要的朋友可以參考下
    2017-05-05
  • ReactJS實現(xiàn)表單的單選多選和反選的示例

    ReactJS實現(xiàn)表單的單選多選和反選的示例

    本篇文章主要介紹了ReactJS實現(xiàn)表單的單選多選和反選的示例,非常具有實用價值,需要的朋友可以參考下
    2017-10-10
  • 淺談React組件props默認值的設(shè)置

    淺談React組件props默認值的設(shè)置

    本文主要介紹了淺談React組件props默認值的設(shè)置,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • react-router v4如何使用history控制路由跳轉(zhuǎn)詳解

    react-router v4如何使用history控制路由跳轉(zhuǎn)詳解

    這篇文章主要給大家介紹了關(guān)于react-router v4如何使用history控制路由跳轉(zhuǎn)的相關(guān)資料,文中通過示例代碼介紹的的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2018-01-01
  • 關(guān)于React狀態(tài)管理的三個規(guī)則總結(jié)

    關(guān)于React狀態(tài)管理的三個規(guī)則總結(jié)

    隨著 JavaScript 單頁應(yīng)用開發(fā)日趨復雜,JavaScript 需要管理比任何時候都要多的 state (狀態(tài)),這篇文章主要給大家介紹了關(guān)于React狀態(tài)管理的三個規(guī)則,需要的朋友可以參考下
    2021-07-07
  • React Native設(shè)備信息查看調(diào)試詳解

    React Native設(shè)備信息查看調(diào)試詳解

    這篇文章主要為大家介紹了React Native設(shè)備信息查看調(diào)試詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • 詳解React中的setState執(zhí)行機制

    詳解React中的setState執(zhí)行機制

    setState是React組件中用于更新狀態(tài)的方法,是類組件中的方法,用于更新組件的狀態(tài)并重新渲染組件,本文給大家詳細介紹了React中的setState執(zhí)行機制,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • 解決webpack -p壓縮打包react報語法錯誤的方法

    解決webpack -p壓縮打包react報語法錯誤的方法

    這篇文章主要給大家介紹了關(guān)于解決webpack -p壓縮打包react報語法錯誤的方法,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-07-07

最新評論