2017-01-23 9 views
0

これを達成する方法を理解しようとしています。私はTouchableHighlightの外部を使ってトリガーしたい機能を持つコンポーネントを持っています。TouchableHighlight to component?

<TouchableHighlight onPress={this.function.bind(this)}> 
    <Component onPress={ somehow inherit on press} /> 
</TouchableHighlight> 

私はこのようにそれをやりたい理由が触れるのハイライトで、私がしたい他の要素があるある:私はここに

は私が何を意味するかちょっとです...それは奇妙な質問のように聞こえる必要があります知っています..私は単にコンポーネントに追加することはできません。私はコンポーネントに小道具を追加することができます。そのため、機能を追加してそのようにトリガーする方法を見つけようとしていました。

アイデアはありますか?ありがとう

+0

あなたはすべてをクリック可能にし、それぞれの子供が異なるオンプレス機能を持つようにしますか?または、クリック可能なコンポーネントを含むコンテナが必要なのですか? –

+0

私が持っているのは、そのコンポーネント内の画像と画像です。そのため、オンパルス効果を継承するコンポーネントだけで、すべてがクリック可能なエフェクトを必要としています。それが意味をなさない場合は –

+0

ohh基本的には、onPressでコンポーネント内の関数を呼び出そうとしているすべてのものをクリックすると、意味を理解できますか? –

答えて

0

これを行うにはさまざまな方法がありますが、最も簡単な方法はrefsです。

someFunction =() => { 
    this.comp.watever() //whatever function you have inside Component that you want to invoke 
} 

<TouchableHighlight onPress={this.someFunction.bind(this)}> 
    <Component ref={(comp) => this.comp = comp} /> 
</TouchableHighlight> 
+0

同じ提案を投稿しようとしていたが、私はOPがそれを逆にしていると思った。これを追加するには、TouchableHighlightのonPressにアクセスするには、 'TouchableHighlight'に' ref'を設定し、子コンポーネントが 'this.touchableRef.props.onPress'を介してアクセスするようにします。実装例については、[このスケッチ](https://snack.expo.io/rk0XqoiTe)を参照してください。 –

関連する問題