当前位置: 首页 > 面试题库 >

将状态初始化为类属性或在构造函数中[ReactJS]

潘文乐
2023-03-14
问题内容

我见过两个案例设置默认状态为:

class Page extends Component {
  state = {
    page: 0,
  };
}

class Page extends Component {
  constructor(props) {
    super(props);
    this.state = { page: 0 };
  }
}

使用第一个变体是不好的做法吗?我在哪里可以找到有关它的更多信息?还是该ecmascript的功能如何命名?


问题答案:

如果已stage-2 preset配置babel,则可以使用第一个变体。它是类属性语法,不包含在ES7提议中,但可作为babel的第二阶段预设使用。然而,使用第一或第二变体是优先事项。它们都转换为完全相同的东西。

第一种方法:

第二种方法



 类似资料:
  • 问题内容: import React, { Component } from ‘react’; 通常我看到的是,如果他使用es6类,人们会在构造函数中执行this.state。如果不是,他可能会使用getinitialstatestate函数放置状态。但是上面的代码(是的,这是一个有效的代码),两者都没有使用。我有2个问题,这里的状态是什么?那是局部变量吗?如果是,为什么没有?prevState来

  • 在Java中,您可以这样做: 在飞镖中,我试过:

  • 问题内容: 在React组件中,最好是在Constructor()或componentWillMount()中设置初始状态? 要么 问题答案: 使用ES6类时,最好在构造函数中使用,但不要使用API,而是这样做: 另外,如果您有可用的类属性(Bab期1),则可以执行以下操作:

  • 问题内容: 根据这份 babel文档,将ES6 +与React结合使用的正确方法是对初始组件进行如下处理: 但是一些官方示例,例如Dan Abramov自己的React DnD模块,使用ES6 +,但仍在构造函数中定义状态: 现在,作为React的重要贡献者的Dan Abramov可能知道他可以在构造函数之外定义状态,但仍然选择在构造函数内完成状态。 所以我只是想知道哪种方法更好,为什么呢? 问题

  • 问题内容: 我最近一直在用C#和Java进行编程,并且很好奇初始化我的类字段的最佳位置。 我应该在申报时这样做吗: 还是在构造函数中?: 我真的很好奇你们中的一些资深人士认为这是最佳做法。我要保持一致,并坚持一种方法。 问题答案: 我的规则: 不要在声明中的默认值初始化()。 如果你没有用于更改字段值的构造函数参数,则最好在声明中进行初始化。 如果字段的值由于构造函数参数而改变,则将初始化放入构造

  • 问题内容: 我在实例类型“ Person”中添加了一个实例变量,该类是引用类型(“ Date”,我为此编写了一个类)。因此,在我的Person类的构造函数中,我试图使用Date类的构造函数初始化Date属性,但是不确定如何执行此操作。以前,我只初始化过原始类型(或字符串),如下所示。这是我的代码中的一段。我不确定如何初始化“生日”,以便它使用Date类的构造函数。谢谢! 问题答案: 您是说要使用D