Я использую TypeScript 3.0 и в соответствии с документацией от https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-0.html
Вместо этого используйте static defaultProps: Pick<Props, "name">;
в качестве явной аннотации типа или не добавляйте аннотацию типа, как в примеревыше.
Однако, если я напишу:
import React, { Component } from 'react';
interface Props {
counter: number;
}
export default class NumberCounter extends Component<Props> {
static defaultProps = {
counter: "i am not a number"
};
render() {
return (
<div>{this.props.counter}</div>
);
}
}
Он компилируется и работает, по-видимому, значение по умолчанию для проп не проверено на тип.Тем не менее, когда я пытаюсь использовать компонент по ошибке:
<NumberCounter
counter="still not a number"
/>
Он показывает ошибку и проверяет правильность типов, когда он используется в другом месте.Это известная ошибка с TypeScript?