我有一个可以正常工作的InstantSearch演示,但是我找不到将结果显示为网格而不是列表的方法。
<InstantSearch
appId="xxxxx"
apiKey="xxxxxx"
indexName="xxxx"
>
<SearchBox />
<div>
<Hits hitComponent={Product} />
</div>
</InstantSearch>Product是一张包含结果信息的卡片。我能够访问结果列表的唯一方法似乎是使用命中,但这不允许我创建网格。
欢迎任何帮助。
发布于 2017-06-23 21:01:00
您可以使用connectHits连接器来使用您自己的标记。
连接器是高阶组件。
下面是一个小示例:
const Hits = connectHits(({hits}) => {
const items = hits.map(hit => <div>{hit.name}</div>);
return <Grid><items></Grid>
});
有关连接器的更多信息,请访问:https://community.algolia.com/react-instantsearch/guide/Connectors.html
发布于 2017-06-23 21:58:45
感谢@Marie
这就是我所做的,并且它是有效的。
import React from 'react';
//Import Components
import {connectHits} from 'react-instantsearch/connectors';
import Product from './Product'
const MyHits = (props) => {
const items = props.hits.map(hit => <Product hit={hit} />);
return (
<div>
<div className="my-grid mdc-layout-grid">
<div className="mdc-layout-grid__inner">
{items}
</div>
</div>
</div>
);
}
export default connectHits(MyHits);https://stackoverflow.com/questions/44720331
复制相似问题