reactjs - Typescript React:我是否必须为超类构造函数指定参数。那会是什么论据?
问题描述
你好,所以整个事情对我来说并不是很清楚,我仍然对我的构造函数真正想要的具体参数感到困惑。如果对您来说很明显,您能告诉我构造函数的参数是什么,super()
并且constructor()
必须是什么?
import * as React from "react";
import styles from "./ScriptEditor.module.scss";
import { IScriptEditorProps } from "./IScriptEditorProps";
import {
Dialog,
DialogType,
DialogFooter
} from "office-ui-fabric-react/lib/Dialog";
import {
DefaultButton,
PrimaryButton
} from "office-ui-fabric-react/lib/Button";
import { TextField } from "office-ui-fabric-react/lib/TextField";
import { loadStyles } from "@microsoft/load-themed-styles";
require("./overrides.css");
export default class ScriptEditor extends React.Component<
IScriptEditorProps,
any
> {
**constructor(IScriptEditorProps, any) {
super(IScriptEditorProps, any);**
this._showDialog = this._showDialog.bind(this);
this._closeDialog = this._closeDialog.bind(this);
this._cancelDialog = this._cancelDialog.bind(this);
this._onScriptEditorTextChanged = this._onScriptEditorTextChanged.bind(
this
);
const uiFabricCSS: string = `
.pzl-bgColor-themeDark, .pzl-bgColor-themeDark--hover:hover {
background-color: "[theme:themeDark, default:#005a9e]";
}
`;
loadStyles(uiFabricCSS);
this.state = {
showDialog: false
};
}
public componentDidMount(): void {
this.setState({ script: this.props.script, loaded: this.props.script });
}
private _showDialog() {
this.setState({ showDialog: true });
}
private _closeDialog() {
this.setState({ showDialog: false });
this.props.save(this.state.script);
}
private _cancelDialog() {
this.props.save(this.state.loaded);
this.setState({ showDialog: false, script: this.state.loaded });
}
private _onScriptEditorTextChanged(text: string) {
this.setState({ script: text });
}
public render(): React.ReactElement<IScriptEditorProps> {
const viewMode = (
<span dangerouslySetInnerHTML={{ __html: this.state.script }}></span>
);
. . .
我保留了,return
因为我认为它与我的问题无关。
到目前为止,我已经来回改变了一些东西,但我几乎不理解构造函数,我真的很恼火,我constructor
和super()
班级想要什么参数。
解决方案
您需要props
像这样传递给反应类构造函数:
constructor(props) {
super(props)
..............
}
推荐阅读
- scala - 构建 Scala 库并在数据块中使用它们
- node.js - 在推送器中调用触发方法时引发错误,“预期字符串”
- firebase - Flutter Firebase document.id 更新问题
- python - 检查数组中的2个或多个项目是否相同并根据排序号删除其中一项 - Python
- python - 如何在 python 中计算股票/加密货币的收盘价和高低差?
- rxjs - RxJs channing、设置和读取外部值
- c# - 如何使用 c#/cmd 向 msi 文件的属性表添加新行
- html - 使用多个模式关闭 Blazor 模式
- java - 使用 Java 序列化从文件中读取对象时出现问题
- numpy - 在行轴中查找矩阵的最大值并将其他值替换为零