Javascript es6调用扩展组件函数

Javascript es6调用扩展组件函数,javascript,reactjs,ecmascript-6,Javascript,Reactjs,Ecmascript 6,好的,我想做的是: 我正在扩展react photo gallery组件,它有这个openLightbox功能,我想在我的组件中做一些其他的事情,当这个功能被触发时,我尝试了如下方法: import React, { Component } from 'react'; import { FormattedMessage } from 'react-intl'; import Gallery from 'react-photo-gallery'; export class GaleryCompo

好的,我想做的是:

我正在扩展react photo gallery组件,它有这个openLightbox功能,我想在我的组件中做一些其他的事情,当这个功能被触发时,我尝试了如下方法:

import React, { Component } from 'react';
import { FormattedMessage } from 'react-intl';
import Gallery from 'react-photo-gallery';

export class GaleryComponent extends Gallery {

  constructor(props) {
      super(props);
      this.openLightBox = this.openLightBox.bind(this);

  }
  openLightbox() {
    console.log("LIGHTBOX OPENED");
  }
}

正确的方法是什么?

this.openLightbox=super.openLightbox应该怎么做?它用原始方法覆盖了被覆盖的方法。这是
this.openLightbox=super.openLightbox
应该做什么?这超越了原始的覆盖方法。嘿,尝试了同样的方法,但仍然一无所获,这是库,我真的不知道为什么它不是working@MarkuzShultz如果你不确切地解释它是如何工作的,你在使用什么代码,我怎么知道?请参阅和Sry,我只是在从react照片库组件调用openLightbox函数时尝试添加代码。使用您的代码,我单击img,lightbox被打开,但我没有获得控制台。log@MarkuzShultz这还不够解释,你读了我在评论中发布的链接了吗?不要将此信息添加为评论,请将其添加到您的问题中。每个问题都应该有您使用的代码、预期行为、实际行为和任何错误消息。@Markuzzhultz您一定没有阅读我发布的链接,因为问题没有我提到的信息。嘿,尝试了同样的问题,但仍然没有得到任何结果,这是库,我真的不知道为什么不是working@MarkuzShultz如果你不确切地解释它是如何工作的,你在使用什么代码,我怎么知道?请参阅和Sry,我只是在从react照片库组件调用openLightbox函数时尝试添加代码。使用您的代码,我单击img,lightbox被打开,但我没有获得控制台。log@MarkuzShultz这还不够解释,你读了我在评论中发布的链接了吗?不要将此信息添加为评论,请将其添加到您的问题中。每个问题都应该包含您使用的代码、预期行为、实际行为和任何错误消息。@Markuzzhultz您一定没有阅读我发布的链接,因为问题中没有我提到的信息。
import React, { Component } from 'react';
import { FormattedMessage } from 'react-intl';
import Gallery from 'react-photo-gallery';

export class GaleryComponent extends Gallery {

  constructor(props) {
    // No need to set this.openLightbox, it will be available from the prototype chain
    super(props);
  }

  // If you want to override openLightbox, you can use super and add your own code
  openLightbox() {
    super.openLightbox();
    console.log("LIGHTBOX OPENED");
  }


  // Had you not overridden it, you would be accessing the super's openLightbox
  componentDidMount() {
      this.openLightbox();
  }
}