【问题标题】:Emotion-Theming and Typescript requires `theme` propEmotion-Theming 和 Typescript 需要 `theme` 道具
【发布时间】:2019-07-18 20:52:59
【问题描述】:

我有一个样式化组件定义为:

export const Header = styled('header')`
  grid-area: header;
  border-top:solid 3px ${(props) => {
    return props.theme.colors.primary
  }};
`

然后将其用作:

<Header>FOO</Header>

在另一个组件中。

我在使用 Typescript 时遇到的问题是,通过在样式组件中使用 props.theme,现在需要在使用 Header 时传递 theme 属性。实际情况并非如此,因为 props.theme 来自 App 结构中使用的 ThemeProvider

如何使主题道具可选?

【问题讨论】:

    标签: reactjs typescript emotion


    【解决方案1】:

    如果您在某处定义了接口,则可以用问号将其标记为可选:

    interface Props {
        theme?: object; //Or whatever type it is
    }
    

    【讨论】:

    • 我没有定义道具的界面,情绪类型是根据使用情况推断类型。
    猜你喜欢
    • 2020-08-09
    • 2021-12-08
    • 2019-11-10
    • 2021-11-18
    • 2021-04-20
    • 2021-07-26
    • 2019-03-08
    • 2021-10-21
    • 2023-03-16
    相关资源
    最近更新 更多