【发布时间】:2020-11-13 06:55:02
【问题描述】:
这就是在 typescript 中实现 react 类的方式:
export class Signup extends Component<SignupProps, SignupState> {}
interface SignupProps {
onSignup: (e: FormEvent, state: SignupState) => void;
}
interface SignupState {
data: {
email: string;
password: string;
name: string;
};
}
由于我有注册和登录表单,为了防止代码重复,我创建了一个 BaseForm 类,我将所有可重用的逻辑放在其中并从那里继承。
export class Signupextends BaseForm {}
但是我遇到了道具问题,我不知道如何传递道具和状态接口。
export class Signup<SignupProps, SignupState> extends BaseForm {}
在这种情况下,我收到了onSignup props 警告,但我在扩展 React.Component 时没有收到此警告
“属性 'onSignup' 不存在于类型 'Readonly & Readonly
export class Signup extends BaseForm<SignupProps, SignupState> {}
在这种情况下,它说:“类型 'BaseForm' 不是通用的。”
我尝试了这两种方法,但都没有奏效。我看不出第三个选项是什么。
【问题讨论】:
-
能否也包括props和state的定义?
标签: reactjs typescript interface