样式化组件中的嵌套prop导致Typescript错误

时间:2019-03-04 05:54:51

标签: reactjs typescript styled-components

我正在尝试在样式组件中调用道具,但这给了我一个错误:

[ts] Property 'color' does not exist on type 'ThemeProps<any>'.

下面是带有问题的代码:

  const ButtonContainer = styled.button`
  border-radius: 4px;
  padding: ${theme.s2};
  border: 2px solid ${props => props.color};
  background: ${props => props.color};
  color: ${theme.textDark};

  ${(props: { secondary?: boolean }) =>
    props.secondary &&
    css`
      background: none;
      color: ${props => props.color};
      }
    `}
`;

错误显示在props.color的最后一个实例上。

任何想法如何正确键入此实例?我认为这是要

${(props: { secondary?: boolean })

Typescript版本3.3.3333和样式组件4.1.3

谢谢

1 个答案:

答案 0 :(得分:0)

尝试以下操作:

color: ${(props: {color: string }) => props.color};

希望这会有所帮助。 :)