Typescript在React子组件中未捕获错误的类型

时间:2018-10-24 15:29:40

标签: typescript react-redux

反应减速器:

export interface ParamObj {
    count: number;
    offset: number;
}
...

然后,我有一个组件:

import { ParamObj } from "./MyReducer";

interface ParentProps {
    params: ParamObj;
    handleClick: () => void;
}
class ParentComp extends React.Component<ParentProps, {}> {
    render() {
        return <ChildComp offset={this.props.params.offset} />;
    }
}

在子组件中,我有:

interface ChildProps {
    offset: string;
}
class ChildComp extends React.Component<ChildProps, {}> {
    render() {
        return <div>{this.props.offset}</div>
    }
}

问题在于,即使param1类型与父组件中的类型不匹配,子组件也不会引发错误。预期的行为是应该说SubComponent param1需要一个数字,但是prop类型是一个字符串。

如何从父组件中识别类型?

编辑: 添加了完整的代码。

1 个答案:

答案 0 :(得分:0)

我知道了。我不知道为什么TS这样工作,但事实证明我需要这样做:

interface SubCompProps {
    param1: ParamObj["param1"];
}