用样式组件和打字稿覆盖道具

时间:2020-02-19 09:18:19

标签: reactjs typescript styled-components

我正在使用具有必需属性的组件。 我想用设置的属性设置该组件的样式,而不需要在渲染时再次设置它。如果我不再次设置,打字稿会抱怨。

我想做的事情的杰作:

const Arrow = styled(<Icon icon={"ArrowRight"}/>)`
    ...
`;

渲染时无需设置icon

如果我这样做

const Arrow = styled(Icon)`
    ...
`;

Arrow.defaultProps = {
    icon: "ArrowRight",
};

渲染时我仍然必须设置icon

有什么办法可以做到这一点,还是我唯一的用typescript-magic修改Arrow道具的方法?


使用

  • 打字稿3.7.5
  • 反应16.12.0
  • 样式组件5.0.1

1 个答案:

答案 0 :(得分:2)

$res有一个名为select * from table where date in (SELECT To_char(ADD_MONTHS(CURRENT_DATE , -2),'YYYY-MM') MM union SELECT To_char(ADD_MONTHS(CURRENT_DATE , -1),'YYYY-MM') MM ); 的API,因此您可以将属性附加到DOM元素或组件。

styled-components

Docs