【发布时间】:2021-04-21 07:11:06
【问题描述】:
我有一个简单的按钮组件,我使用样式化组件对其进行样式设置,但我无法向组件发送简单的道具,因为 TypeScript 抱怨 No overload matches this call
App.tsx
import React from 'react';
import Button from '../form/button';
export const App = (): React.ReactElement => <Button secondary>Click me</Button>;
Button.tsx
import React from 'react';
import styled from 'styled-components';
const StyledButton = styled.button`
background-color: #333;
padding: 10px 20px;
color: ${({ secondary }) => (secondary ? 'white' : 'red')};
`;
interface Props {
children: string;
secondary?: any;
}
const Button: React.FC<Props> = ({ children, secondary }) => (
<StyledButton secondary={secondary}>{children}</StyledButton>
);
export default Button;
这应该可以,TypeScript 需要我指定什么?该错误不是很有帮助
【问题讨论】:
-
试试
-
@Sam,还是说
No overload matches this call -
@Álvaro
children: React.ReactNode和secondary: boolean -
@RameshReddy,同样的
No overload matches this call
标签: reactjs typescript styled-components