Я переношу свой проект React в TS и в компонент (я удалил большинство реквизитов для упрощения кода):
interface Props {
activeTabIdx: number;
setActiveTab: Function;
}
const HeaderTabs = ({ activeTabIdx, setActiveTab}: Props) => {
...
};
HeaderTabs.propTypes = {
activeTabIdx: PropTypes.number.isRequired,
setActiveTab: PropTypes.func.isRequired,
};
const mapStateToProps = (state) => ({
activeTabIdx: state.tabs.activeValue,
});
const mapDispatchToProps = {
setActiveTab: _setActiveTab,
};
export default connect(mapStateToProps, mapDispatchToProps)(HeaderTabs);
В последней строке появляется ошибка:
Argument of type '{ ({ visible, className, activeTabIdx, setActiveTab, values }: Props): JSX.Element | null; propTypes: { values: PropTypes.Validator<any[]>; activeTabIdx: PropTypes.Validator<number>; setActiveTab: PropTypes.Validator<...>; visible: PropTypes.Validator<...>; className: PropTypes.Requireable<...>; }; defaultProps: { ....' is not assignable to parameter of type 'ComponentType<never>'.
И когда я удаляю PropTypes
использование, эта ошибка исчезает. Итак, что я могу сделать, чтобы TS и PropTypes работали вместе?
PS. Я действительно хочу продолжать использовать PropTypes, потому что он может обнаруживать ошибки во время выполнения