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

使用ES6类反应静态

施华奥
2023-03-14
问题内容

静态对象是否可以与React中的ES6类一起使用?

class SomeComponent extends React.Component {

  render() {
    // ...
  }

}

React.statics = {
  someMethod: function() {
    //...
  }
};

someMethod当我这样做时,上面的东西给了我未定义的方法SomeComponent.someMethod()


问题答案:

statics仅适用于React.createClass。只需将方法声明为静态类方法即可:

class SomeComponent extends React.Component {

  static someMethod() {
    //...
  }

  render() {
    // ...
  }

}

关于

React.statics = { ... }

您实际上是staticsReact对象上创建属性。该属性不会 神奇地 扩展您的组件



 类似资料:
  • 问题内容: 我想知道将函数传递给ES6和cloneElement的工作方式。我需要在父组件的状态中引用状态,但是要引用子组件而不是父组件。 下面是使用常规JavaScript使其正常工作的代码,首先在ES6中编写并敲击键盘后,我决定看看它是否为ES6,因此我进行了重构,效果很好。 我只想在ES6中编写它,因为其他所有内容都使我感到困惑。 这是我在ES5中的组件: 然后在其子节点中: 这些组件在ES

  • 问题内容: 我有以下ReactJS类: 但是我有以下错误: 我不明白 这是调用静态函数的好方法吗?我认为react正在使用静态进行某些操作,但我不知道该怎么做。 问题答案: 需要在类而非实例上访问静态方法。因此,在您的情况下,请使用: 但是,静态方法将无法访问-基于上面的代码示例,我不认为您希望该方法是静态的。 更多:ES6中的静态成员

  • 问题内容: 我想在中实现常量,因为在代码中找到常量是很有意义的。 到目前为止,我一直在使用静态方法实现以下变通方法: 我知道有可能摆弄原型,但许多人建议不要这样做。 有没有更好的方法在ES6类中实现常量? 问题答案: 您可以执行以下操作: 从 模块中 导出a 。根据您的用例,您可以: 并在必要时从模块导入该文件。或者,基于您的静态方法思想,您可以声明一个get访问器: 这样,您将不需要括号: 然后

  • 问题内容: 我在使用胖箭头功能时遇到了一些问题。如果该函数不是匿名函数,它将抱怨语法并且不会编译。 这个: 给我: 它指向等号(handleItemClick’=’)。 但是,这很好用: 我的webpack配置是否有问题,或者我缺少什么?感谢任何提示。 问题答案: 您正在尝试使用不属于ES6且es2015未涵盖的class字段,并对预设进行反应。 您可以使用Class属性transform bab

  • 问题内容: 我意识到super关键字可用于调用父组件中的函数。但是,我不清楚您为什么在下面的示例中使用super关键字-只是将传递给构造器的所有prop传递给它。 有人可以回应一下在ES6类构造函数中使用super关键字的各种原因吗? 问题答案: super允许您访问父类的构造方法。包含props的唯一原因是在构造函数内部访问this.props。 使用es6类时,React中的“ super()

  • 问题内容: 在ES6中,给出以下示例: 如何访问Color.mainDark(静态字段)? 问题答案: 您可以按期望的方式访问它,但是,如果我记得使用Babel并立即导出类时存在一些问题,因此 如果 遇到问题,请在定义类后导出: 您可以在玛丽安(Marian)对类似问题的回答中了解有关巴别塔(Babel)问题的更多信息,该问题据说已在巴别塔(Babel)6.2.1中修复。