我有以下代码
type SetupProps = {
defaults: string;
}
export class Setup extends React.Component<SetupProps, SetupState> {
constructor(props: any) {
super(props);
this.props.defaults = "Whatever";
}
尝试运行此代码时,TS编译器返回以下错误:
无法分配到&#39;默认值&#39;因为它是常数或只读 属性。
如果deafualts
显然没有以这种方式标记,<?php while ($row = mysqli_fetch_assoc($slide1_result)) {
如何成为只读属性。
答案 0 :(得分:1)
您正在扩展React.Component
,并将props
定义为Readonly<SetupProps>
class Component<P, S> {
constructor(props: P, context?: any);
...
props: Readonly<{ children?: ReactNode }> & Readonly<P>;
state: Readonly<S>;
...
}
如果要分配一些默认值,可以使用以下内容:
constructor({ defaults = 'Whatever' }: Partial<SetupProps>) {
super({defaults});
}