2017-03-29 6 views
1

私はかなり新しくReactになっています。searchkit - itemコンポーネントに小道具を渡す方法

私は<ViewSwitcherHits/>コンポーネントからどのように小道具をlistComponentの検索キットに渡すことができるかを調べようとしています。

親コンポーネント:

<ViewSwitcherHits 
hitComponents={[ 
    {key:"query", title:"Query", listComponent:QueryDetailView, defaultOption:true} 
]} 
/> 

のでQueryDetailViewが、私はそれが選択したクエリの詳細ビューを表示するために小道具を必要と作成したカスタムコンポーネントです。ユーザーは別のコンポーネントのドロップダウンからクエリブロックを選択すると、選択したフィルタはQueryDetailViewコンポーネントに表示されます。子から親に、選択したクエリオブジェクトをQueryDetailViewの子に戻すより良い方法があります。私はAngularから来ているので、サービスはこれには完璧だと知っていますが、Reactで実装する方法はわかりません。あるいは、Searchkitが小道具をItemComponentに渡すことさえできるのであれば。

これが十分な情報であることを希望します。そうでない場合は、私に知らせてください。もっとコードを追加します。ありがとう!

+0

あなたはそのようなコンポーネントに子を渡すことができます。をクリックします。 this.props.childrenを使用して、AwesomeComponentでこのコンポーネントにアクセスできます。あなたがthis.props.childrenに小道具を追加したいなら、{React.cloneElement(this.props.children、{loggedIn:this.state.loggedIn})}} – Kornflexx

+0

なので、AwesomeComponentはQueryDetailViewへのラッパーとして機能しますか?あなたはReact.cloneElementのより洗練された例を表示できますか? – mcastre

答えて

1

プロパティを持つQueryDetailsViewを変数/定数に割り当てて、それをlistComponentとして使用してみてください。あなたはthis.props.onepropとthis.props.anotherpropにアクセスすることができますQueryDetailsView内部のようsearchkitの性質とあなたの特性は、マージされます。

const qdv = (<QueryDetailView oneprop="somevalue" anotherprop="anothervalue" />); 

<ViewSwitcherHits 
hitComponents={[ 
    {key:"query", title:"Query", listComponent:qdw, defaultOption:true} 
]} 
/> 
関連する問題