2016-12-21 5 views
1

私はこのようになりますコンポーネントがあります。それは「ここ」と言い、私は<Thumbnail onClick />ためにつくを定義したいと思いますまだ定義されていないonClickeventsを設定できますか?

const ProductCarousel = React.createClass({ 
    componentDidMount: function() { 
    this.flky = new Flickity('.carousel', flickityOptions) 
    //here 
    }, 
    render: function() { 
    const item = this.props.item 
    return (
     <div> 
     <div className='carousel'> 
      {item.get('images').map((url, i) => (
      <img key={i.toString()} src={stripUrl(url)} width={520} /> 
     ))} 
     </div> 
     <div style={{marginTop: '20px', display: 'flex'}}> 
      {item.get('images').map((url, index) => 
      <div style={{flexGrow: 1, margin: '0 1em 0 1em'}} className='hidden-xs' key={url}> 
       <Thumbnail src={stripUrl(url)} /> 
      </div> 
     )} 
     </div> 
     </div> 
    ) 
    } 
}) 

場所を。これらの関数はthis.flkyのメソッドなので、componentDidMountより前には作成できませんが、サムネイルに設定してサムネイルのインデックスを渡したいと思います。私が使うことができる約束のようなものがありますか?

答えて

0

あなたが機能でそれを置く場合は、それがクリックされるまで、それが実行され得ることはありません、および方法は、それまでに存在している必要があります:

<Thumbnail src={stripUrl(url)} onClick={()=>this.flky.someMethod(index)} /> 
+0

クール、私はそのようなメソッドをインラインに入れなければならないのか私は外部参照を作ることができますか? – Himmators

+0

レンダリング時にonclick関数が存在する限り、外部にすることができます。 – Scimonster

関連する問題