1

我对 React 还很陌生,我真的很感谢这方面的一些帮助,因为它让我发疯了。

我试图弄清楚如何将道具listComponent<ViewSwitcherHits/>组件传递到 searchkit 中。

父组件:

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

所以这QueryDetailView是我创建的一个自定义组件,它需要道具才能显示所选查询的详细视图。用户从另一个组件的下拉列表中选择一个查询块,然后该选定过滤器将显示在该QueryDetailView组件中。可能有更好的方法将选定的查询对象从子级传递给父级,然后再传递给QueryDetailView子级。我来自 Angular,所以我知道一个服务非常适合这个,但不确定如何在 React 中实现。或者,如果 Searchkit 甚至允许将道具传递到ItemComponent.

我希望这是足够的信息。如果没有,请告诉我,我会添加更多代码。谢谢!

4

1 回答 1

1

尝试将带有属性的 QueryDetailsView 分配给变量/常量,然后将其用作 listComponent。searchkit 属性和您的属性将合并,因此在 QueryDetailsView 中您将能够访问 this.props.oneprop 和 this.props.anotherprop:

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

<ViewSwitcherHits 
hitComponents={[
    {key:"query", title:"Query", listComponent:qdw, defaultOption:true}
]}
/>
于 2017-10-06T10:01:40.200 回答