最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

React styled components樣式組件化使用流程

 更新時間:2023年02月06日 09:47:12   作者:碰磕  
styled-components 是react的一個第三方庫,一種css私有化的方式。用來實現(xiàn)CSS in JS 的方式之一。在多人協(xié)作中,css必定會出現(xiàn)命名沖突,與vue的scoped解決方案不同,react用styled-components的給類名加了隨機字符的方式實現(xiàn)了css的私有化

將style樣式寫在同一個文件中并且組件化使用.

安裝

npm i styled-components

基本使用

const 樣式組件名=引入的styled-components.替代的標簽(支持sass寫法)

再使用樣式組件名將標簽包裹起來即可

import React, { Component } from 'react';
import styled from 'styled-components';
class App001 extends Component {
    render() {
        const StyleFooter=styled.footer`
            background:yellow;
            position:fixed;
            left:0;
            bottom:0;
            width:100%;
            height:50px;
            line-height:50px;
            text-align:center;
            ul{
                display:flex;
                li{
                    flex:1;
                    &:hover{
                        background:red;
                    }
                }
            }
        `
        return (
            <StyleFooter>
            <footer>
                <ul>
                    <li>首頁</li>
                    <li>列表</li>
                    <li>我的</li>
                </ul>
            </footer>
            </StyleFooter>
        );
    }
}
export default App001;

這樣就能成功實現(xiàn)對該包裹標簽的樣式實現(xiàn)

props傳值修改樣式

通過給標簽綁定屬性值進行傳值

通過${props=>props.屬性名}獲取標簽上傳來的屬性

import React, { Component } from 'react';
import styled from 'styled-components';
class App002 extends Component {
    render() {
        const StyledInput=styled.input`
            outline:none;
            border-radius:10px;
            border-bottom:1px solid red;
        `
        const StyledDiv=styled.div`
        background:${props=>props.bg||'red'};
        width:100px;
        height:100px;
        `
        return (
            <div>
                <StyledInput type="text"></StyledInput>
                <StyledDiv bg="green"></StyledDiv>
            </div>
        );
    }
}
export default App002;

樣式化組件

通過父類修改子組件的樣式

首先創(chuàng)建樣式,然后Child子組件能接收到一個props,再將props.className綁定到自己className上,這樣就實現(xiàn)了樣式化組件

import React, { Component } from 'react';
import styled from 'styled-components';
class App003 extends Component {
    render() {
        //1.創(chuàng)建樣式
        const StyleChild=styled(Child)`
        background:red;
        `
        return (
            <div>
                <StyleChild>
                <Child />   
                </StyleChild>
            </div>
        );
    }
}
function Child(props){
    //2.綁定classname,props由父類傳來
    return <div className={props.className}>孩子</div>
}
export default App003;

樣式擴展

可以當(dāng)作樣式繼承,通過繼承上一個樣式從而獲取和它一樣的樣式

下方結(jié)果能得到一個按鈕是黃色,一個是紅色–寬高一樣,通過styled(自定義的樣式名)從而繼承這個自定義的樣式…

import React, { Component } from 'react';
import styled from 'styled-components';
class App004 extends Component {
    render() {
        const StyledButton=styled.button`
            width:100px;
            height:100px;
            background:yellow;
        `
        const MyButton=styled(StyledButton)`
            background:red;
        `
        return (
            <div>
                <MyButton></MyButton>
                <StyledButton>1231</StyledButton>
            </div>
        );
    }
}
export default App004;

動畫

動畫需要引入styled-components中的keyframes

import styled,{keyframes} from 'styled-components';

然后進行定義動畫,再通過在單引號中使用${使用該動畫}

import React, { Component } from 'react';
import styled,{keyframes} from 'styled-components';
class App005 extends Component {
    render() {
        //1.定義動畫
        const myaniamtion=keyframes`
        from{
            transform:rotate(0deg)
        }
        to{
            transform:rotate(360deg)
        }
        `
        //2.進行使用
        const StyledDiv=styled.div`
            width:100px;
            height:100px;
            background:yellow;
            animation: ${myaniamtion} 1s infinite
        `
        return (
            <div>
                <StyledDiv></StyledDiv>
            </div>
        );
    }
}
export default App005;

這樣就學(xué)會了Styled-Components

到此這篇關(guān)于React styled components樣式組件化使用流程的文章就介紹到這了,更多相關(guān)React styled components 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • react-native彈窗封裝的方法

    react-native彈窗封裝的方法

    這篇文章主要為大家詳細介紹了react-native彈窗封裝的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • 記一次react前端項目打包優(yōu)化的方法

    記一次react前端項目打包優(yōu)化的方法

    這篇文章主要介紹了記一次react前端項目打包優(yōu)化的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • react:swr接口緩存案例代碼

    react:swr接口緩存案例代碼

    useSWR 是一個 React Hooks,是 HTTP 緩存庫 SWR 的核心方法之一,SWR 是一個輕量級的 React Hooks 庫,通過自動緩存數(shù)據(jù)來實現(xiàn) React 的數(shù)據(jù)獲取,本文給大家介紹react:swr接口緩存案例詳解,感興趣的朋友一起看看吧
    2023-11-11
  • react路由基礎(chǔ)解讀(Router、Link和Route)

    react路由基礎(chǔ)解讀(Router、Link和Route)

    這篇文章主要介紹了react路由基礎(chǔ)解讀(Router、Link和Route),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • react配置路由前綴問題及解決

    react配置路由前綴問題及解決

    在使用 React 配置路由前綴時,需要注意兩點:首先,確保資源使用相對路徑,可以通過在 `package.json` 中添加 `homepage` 選項或設(shè)置確定的前綴來實現(xiàn);其次,對于 React Router,也需要配置相同的前綴,以確保前端跳轉(zhuǎn)時能夠匹配到正確的路由
    2026-03-03
  • React中setTimeout獲取不到最新State值的原因及解決方案

    React中setTimeout獲取不到最新State值的原因及解決方案

    在 React 開發(fā)中,我們常常需要在異步操作中訪問組件的 State,然而,由于 React 的閉包機制和異步更新特性,setTimeout?中可能會獲取到過時的 State 值,本文將深入解析這一現(xiàn)象的原因,并提供多種解決方案,需要的朋友可以參考下
    2025-10-10
  • React引入css的幾種方式及應(yīng)用小結(jié)

    React引入css的幾種方式及應(yīng)用小結(jié)

    這篇文章主要介紹了React引入css的幾種方式及應(yīng)用小結(jié),操作styled組件的樣式屬性,可在組件標簽上定義屬性、也可以通過attrs定義屬性,本文通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2024-03-03
  • react-native中ListView組件點擊跳轉(zhuǎn)的方法示例

    react-native中ListView組件點擊跳轉(zhuǎn)的方法示例

    ListView作為React Native的核心組件,用于高效地顯示一個可以垂直滾動的變化的數(shù)據(jù)列表。下面這篇文章主要給大家介紹了關(guān)于react-native中ListView組件點擊跳轉(zhuǎn)的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-09-09
  • React中阻止事件冒泡的問題詳析

    React中阻止事件冒泡的問題詳析

    這篇文章主要給大家介紹了關(guān)于React中阻止事件冒泡問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用React具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • react的 useReducer 使用場景及替代 useState

    react的 useReducer 使用場景及替代 useState

    useStateuseReducer是 React 提供的狀態(tài)管理 Hook,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2026-05-05

最新評論

越西县| 娱乐| 讷河市| 云梦县| 阿拉善盟| 大庆市| 新晃| 昆明市| 民乐县| 阜新| 上思县| 正定县| 黄山市| 桑日县| 井陉县| 磴口县| 永和县| 游戏| 凌海市| 曲阳县| 凉山| 瓦房店市| 庆云县| 五常市| 方山县| 贡觉县| 会同县| 罗山县| 涿州市| 株洲市| 巍山| 白河县| 汕尾市| 漳浦县| 凤阳县| 怀柔区| 新野县| 北票市| 华安县| 华蓥市| 平凉市|