我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Reactstyledcomponents样式组件化使用流程

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Reactstyledcomponents样式组件化使用流程

将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;

这样就能成功实现对该包裹标签的样式实现

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;

样式化组件

通过父类修改子组件的样式

首先创建样式,然后Child子组件能接收到一个props,再将props.className绑定到自己className上,这样就实现了样式化组件

import React, { Component } from 'react';
import styled from 'styled-components';
class App003 extends Component {
    render() {
        //1.创建样式
        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;

样式扩展

可以当作样式继承,通过继承上一个样式从而获取和它一样的样式

下方结果能得到一个按钮是黄色,一个是红色–宽高一样,通过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;

这样就学会了Styled-Components

到此这篇关于React styled components样式组件化使用流程的文章就介绍到这了,更多相关React styled components 内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Reactstyledcomponents样式组件化使用流程

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Reactstyledcomponents样式组件化使用流程

styled-components是react的一个第三方库,一种css私有化的方式。用来实现CSSinJS的方式之一。在多人协作中,css必定会出现命名冲突,与vue的scoped解决方案不同,react用styled-components的给类名加了随机字符的方式实现了css的私有化
2023-02-06

微信小程序组件样式怎么用

这篇文章主要讲解了“微信小程序组件样式怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序组件样式怎么用”吧!组件样式组件对应 wxss 文件的样式,只对组件wxml内的节点生效。
2023-06-26

小程序地图个性化样式组件要收费了!

地图个性化样式组件 自2023年6月29日0点起,该能力需要先购买再使用。若未购买,届时将无法使用该能力。具体购买方式见付费管理。自2023年6月29日0时起,个性化地图配置界面的入口统一为微信公众平台-付费管理,请从此入口进入,腾讯位
2023-08-16

小程序之修改引用的vant组件样式(包括自定义组件中的vant样式)

今天在写小程序的时候,刚好遇到,以前遇到解决了之后忘记记录,今天记录下! 一般组件的基础样式会跟ui设计稿有些出入,就得改动! 使用vant的话,官方就有提供方法,比如复选框 我在项目中用custom-class居多,设置根节点后就
2023-08-19

java分布式流处理组件Producer怎么使用

这篇文章主要讲解了“java分布式流处理组件Producer怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java分布式流处理组件Producer怎么使用”吧!基于Java的API首
2023-07-05

使用ElementUI修改el-tabs标签页组件样式

这篇文章主要介绍了使用ElementUI修改el-tabs标签页组件样式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-11-13

Vue3 echarts组件化及使用hook进行resize方式

这篇文章主要介绍了Vue3 echarts组件化及使用hook进行resize方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-05-16

怎么使用Flutter刷新组件RefreshIndicator自定义样式demo

这篇文章主要介绍了怎么使用Flutter刷新组件RefreshIndicator自定义样式demo的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Flutter刷新组件RefreshIndicator自定
2023-07-05

实用技巧:使用Golang Facade模式简化错误处理流程

在Golang中,错误处理是一个重要的方面,它可以帮助我们更好地处理程序中可能出现的错误。然而,错误处理的过程可能会导致代码变得冗长和复杂。为了简化错误处理流程,我们可以使用Facade模式。Facade模式是一种结构模式,它提供了一个简化
2023-10-08

在Vue中使用deep深度选择器修改elementUI组件的样式

这篇文章主要介绍了在Vue中使用deep深度选择器修改elementUI组件的样式,本文分为两种方法给大家介绍,在这小编比较推荐使用第二种使用deep深度选择器,感兴趣的朋友跟随小编一起看看吧
2022-12-08

在Flex中使用StyleMaager类和setStyle()方法给Alert组件设置样式

在Flex中使用StyleMaager类和setStyle()方法给Alert组件设置样式,实例演示了怎样利用StyleManager.getStyleDeclaration()方法和setStyle()给一个FlexAlert组件设置样式代码:<?xmlversion="1.0"encoding="utf-8"?><mx:Applicationxmlns:mx="http://www.adobe.com/2006
2023-05-25

C/C++ Qt QThread线程组件的具体使用是怎样的

这期内容当中小编将会给大家带来有关C/C++ Qt QThread线程组件的具体使用是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。QThread库是QT中提供的跨平台多线程实现方案,使用时需要继承
2023-06-21

HTML布局指南:如何使用媒体查询进行样式流程控制

引言:在现代网页设计中,响应式布局已成为不可忽视的重要因素。响应式布局可以使网页在不同设备上自适应,为用户提供更好的浏览体验。媒体查询是实现响应式布局的关键工具之一。本篇文章将介绍媒体查询的概念、语法和常见应用场景,并提供代码示例方便读者理
2023-10-21

使用vue深度选择器修改ElementUI组件内样式的示例代码

在带有scoped属性的style中书写样式时,无法作用影响到子组件中的样式,此时我们会使用到deep深度选择器,来解决此问题,我们在使用less预处理器,能正常使用,但是在scss预处理器中会报错,下面通过本文介绍vue深度选择器修改ElementUI组件内样式,需要的朋友可以参考下
2022-12-08

编程热搜

目录