Lam*_*ert 9 typescript reactjs
将ReactJS与TypeScript一起使用时,最好是在构造函数中初始化类变量,还是在声明类变量时?无论哪种方式都可以正常工作,并且转换后的javascript看起来都是一样的.
export class MyClass extends React.Component<iProps, {}> {
private myName: string = "Hello";
constructor(props: iProps) {
super(props);
this.myName= "Hello";
}
}
Run Code Online (Sandbox Code Playgroud)
完全相同,例如:
class MyClass1 {
private myName: string = "Hello";
}
Run Code Online (Sandbox Code Playgroud)
编译为:
var MyClass1 = (function () {
function MyClass1() {
this.myName = "Hello";
}
return MyClass1;
}());
Run Code Online (Sandbox Code Playgroud)
和:
class MyClass2 {
private myName: string;
constructor() {
this.myName = "Hello";
}
}
Run Code Online (Sandbox Code Playgroud)
编译为:
var MyClass2 = (function () {
function MyClass2() {
this.myName = "Hello";
}
return MyClass2;
}());
Run Code Online (Sandbox Code Playgroud)
(操场上的代码)
如您所见,编译版本是相同的(类名除外)。
因此,您可以使用哪个更优雅。
至于反应,您可以使用传递给构造函数的道具。
将es6样式类与react组件一起使用时,初始状态将在构造函数中分配,而不是使用getInitialState方法。
如果您的初始状态是道具的函数,那么您需要在构造函数中使用它们。
| 归档时间: |
|
| 查看次数: |
9172 次 |
| 最近记录: |