打字稿:使用ES6分解整个道具对象并提供默认值

时间:2020-07-31 13:39:00

标签: typescript

找到了一个默认使用属性的工作示例:

const defaultDisabled = '';
const Greet: React.FC<Props> = ({ disabled = defaultDisabled }: Props) => (
// ...

但是我不想为每个默认值创建一个单独的对象。

如何为整个道具对象添加默认对象?以下显示错误:

interface Props {
  label: string;
  disabled?: boolean;
}
const defaultProps = { disabled: false };

// Parsing error: "," expected
const Greet: React.FC<Props> = ({ label, disabled } = defaultProps: Props) => (
// ...

1 个答案:

答案 0 :(得分:1)

我要像片段中那样分配defaultProps

interface Props  {
  label: string;
  disabled?: boolean;
}

const Greet: React.FC<Props> = ({ label }) => {
  return <div>{label}</div>;
};

Greet.defaultProps = { label: "" };

如果执行此操作,它甚至会键入check defaultProps对象,因此您无法分配Props中未提及的任何内容