javascript 反应样式组件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 反应样式组件相关的知识,希望对你有一定的参考价值。

import React, { Component, Fragment } from "react";
import styled, { createGlobalStyle, css, keyframes } from "styled-components";

const GlobalStyle = createGlobalStyle`
  body {
    padding: 0;
    margin: 0;
  }
`;

export default class App extends Component {
  render() {
    return (
      <Fragment>
        <GlobalStyle />
        <Container>
          <Button>Hello</Button>
          <Button danger rotationTime={1}>
            Hello
          </Button>
          <Anchor href="http://google.com">Go to google</Anchor>
        </Container>
      </Fragment>
    );
  }
}

const Container = styled.div`
  height: 100vh;
  width: 100%;
  background-color: pink;
`;

const Button = styled.button`
  border-radius: 50px;
  padding: 5px;
  min-width: 120px;
  color: white;
  font-weight: 600;
  -webkit-appearance: none;
  cursor: pointer;
  &:active,
  &:focus {
    outline: none;
  }
  background-color: ${props => (props.danger ? "#e74c3c" : "#2ecc71")};
  ${props => {
    if (props.danger) {
      return css`
        animation: ${rotation} ${props.rotationTime}s linear infinite;
      `;
    }
  }}
`;

const Anchor = styled(Button.withComponent("a"))`
  text-decoration: none;
`;

const rotation = keyframes`
  from {
    transfrom: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
`;

以上是关于javascript 反应样式组件的主要内容,如果未能解决你的问题,请参考以下文章

WebPack 为导入的样式表的类添加下划线,从而破坏反应组件的样式

为啥 flex 属性在反应样式的组件中不起作用?

TailwindCSS 的使用与反应中的样式组件混淆

在反应组件中将样式作为道具传递

设置复杂的反应内联样式,例如悬停,在反应组件(例如按钮)上处于活动状态

使用状态自定义样式的反应+样式化组件