博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[React] Create component variations in React with styled-components and "extend"
阅读量:6074 次
发布时间:2019-06-20

本文共 1709 字,大约阅读时间需要 5 分钟。

In this lesson, we extend the styles of a base button component to create multiple variations of buttons, using "extend". We can then modify the base styles in one place, and have all button types updated.

 

import React from "react";import styled from "styled-components";const Button = styled.button`  background: ${props => props.theme.base};  color: white;  font-size: 1rem;  padding: .75rem 2rem;  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);  cursor: pointer;  border: none;  border-radius: 4px;  margin: .5rem;  transition: all 0.1s;  &:hover {    transform: translateY(1px);    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.15);  }`;const ButtonDanger = Button.extend`background: ${props => props.theme.danger};`;const ButtonGradient = Button.extend`  background: ${props => props.theme.gradient};`;/* ============================== *//* ===== the main component ===== *//* ============================== */const App = () =>  
Watch out now!
Gradient Button!
;export default App;

 

theme:

import React from "react";import ReactDOM from "react-dom";import App from "./App";import { ThemeProvider, injectGlobal } from "styled-components";injectGlobal`  body {    margin: 0;    padding: 2rem;    font-family: -apple-system,      BlinkMacSystemFont,      "Segoe UI",      Roboto,      Helvetica,      Arial,      sans-serif,      "Apple Color Emoji",      "Segoe UI Emoji",      "Segoe UI Symbol";  }`;const theme = {  base: "#a04ed9",  danger: "tomato",  gradient: `background-color: #00DBDE; background-image: linear-gradient(225deg, #00DBDE 0%, #FC00FF 100%);`};ReactDOM.render(  
, document.getElementById("root"));

 

转载地址:http://iangx.baihongyu.com/

你可能感兴趣的文章
css 让一张彩色的图片变成一张黑白图
查看>>
Git介绍和基本原理
查看>>
后缀数组 3160 最长公共子串
查看>>
计算机IDE接口与SATA接口的区别
查看>>
PLSQL_基础系列05_视图控制WITH CHECK OPTION(案例)
查看>>
[开源 .NET 跨平台 Crawler 数据采集 爬虫框架: DotnetSpider] [二] 基本使用
查看>>
高级软件工程师技术要求
查看>>
centos6.9(Linux系统)安装VMware tools教程
查看>>
oracle树结构查询
查看>>
博客园首弹
查看>>
求数组元素的最大值
查看>>
学习:C#无标题窗体移动
查看>>
ajax学习笔记1
查看>>
c#进制转换
查看>>
vs中常用的快捷键
查看>>
CSS3中border-image属性详解
查看>>
你得学会并且学得会的Socket编程基础知识(续)——Silverlight客户端(转)
查看>>
ubuntu下配置vim及插件
查看>>
paper 69:Haar-like矩形遍历检测窗口演示Matlab源代码[转载]
查看>>
ole辅助类-sqlhelper-access
查看>>