2016-04-22 16 views
0

ので私がやろうとしていることである:ES6コール拡張コンポーネント機能

私が反応し、フォトギャラリーのコンポーネントを引き出すことだし、それがこの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"); 
    } 
} 

これを行う正しい方法は何ですか?

+0

WTHは 'this.openLightbox = super.openLightbox'となっていますか?これは上書きされたメソッドを元のメソッドにオーバーライドします。 – Bergi

答えて

3
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(); 
    } 
} 
+0

ねえ、同じことを試みてまだ何も得ていない、ここではlib、https://github.com/neptunian/react-photo-gallery/blob/master/src/Gallery.js本当にわからない働いている –

+0

@ MarktzShultzどのように動作しないのか、どのコードを使用しているのかを正確に説明していないかどうかを知るはずです。 http://stackoverflow.com/help/how-to-askおよびhttp://stackoverflow.com/help/mcveを参照してください。 –

+0

Sry、openLightbox関数が反応写真から呼び出されたときにコードを追加しようとしています。ギャラリーのコンポーネントです。あなたのコードをクリックして、imgをクリックします。ライトボックスが開きますが、console.logが表示されません。 –

関連する問題