标签: styled-system

如何使用打字稿和情感修复 Box 组件上的“属性‘颜色’类型不兼容”

Box我正在尝试在新项目上制作通用的反应组件。这将是所有其他组件的基础。我使用 styled-system、emotion 以及最终的 theme-ui 来处理所有组件的主题和样式。

我的根Box组件如下所示:

import styled from '@emotion/styled';
import {
  compose,
  space,
  layout,
  flexbox,
  border,
  position,
  color,
  SpaceProps,
  ColorProps,
  LayoutProps,
  FlexboxProps,
  BorderProps,
  PositionProps,
} from 'styled-system';

export type BoxProps = SpaceProps &
  ColorProps &
  LayoutProps &
  FlexboxProps &
  BorderProps &
  PositionProps;

export const Box = styled.div<BoxProps>(
  {
    boxSizing: 'border-box',
    minWidth: 0,
  },
  compose(space, color, layout, flexbox, border, position)
);
Run Code Online (Sandbox Code Playgroud)

我使用 styled-system 中的 styled 函数及其关联类型来创建一个接受空间、颜色、布局、flexbox、边框和位置属性的 Box 组件。

我收到的错误仅发生在color道具上。一旦我删除它,我就不会收到任何错误。

TS 错误为:

Type 'BoxProps' does not …
Run Code Online (Sandbox Code Playgroud)

emotion typescript styled-components theme-ui styled-system

5
推荐指数
1
解决办法
2954
查看次数

如何使用 styled-icons 输出故事书中的图标列表

目前我正在手动添加图标,但对于几个图标来说,这种方式没有问题。但如果有 100 个图标,这就成了一个真正的问题。我怎样才能使这个可重复使用。所以我可以应用这个元素,这样它就可以是我想要的任何图标。最后它应该看起来像这样。

<Icon icon='login' color="yellow" mr="10px" fontSize="20px" />
Run Code Online (Sandbox Code Playgroud)

<Icon icon='login' color="yellow" mr="10px" fontSize="20px" />
Run Code Online (Sandbox Code Playgroud)

reactjs styled-components storybook styled-system

2
推荐指数
1
解决办法
6989
查看次数