将即时搜索体验集成到您的 React 应用程序中。

1. 创建一个 React 应用程序

使用 Vite 模板创建您的 React 应用程序
npm create vite@latest my-app -- --template react

2. 安装搜索组件库

导航到您的 React 应用程序并安装 react-instantsearch@meilisearch/instant-meilisearchinstantsearch.css
npm install react-instantsearch @meilisearch/instant-meilisearch instantsearch.css

3. 初始化搜索客户端

使用以下 URL 和 API 密钥连接到包含 Steam 视频游戏数据的 Meilisearch 实例。
import React from 'react';
import { instantMeiliSearch } from '@meilisearch/instant-meilisearch';

const { searchClient } = instantMeiliSearch(
  'https://ms-adf78ae33284-106.lon.meilisearch.io',
  'a63da4928426f12639e19d62886f621130f3fa9ff3c7534c5d179f0f51c4f303'
);

4. 添加 InstantSearch 提供者

<InstantSearch> 是 InstantSearch 库的根提供者组件。它接受两个 props:searchClient索引名称
import React from 'react';
import { InstantSearch } from 'react-instantsearch';
import { instantMeiliSearch } from '@meilisearch/instant-meilisearch';

const { searchClient } = instantMeiliSearch(
  'https://ms-adf78ae33284-106.lon.meilisearch.io',
  'a63da4928426f12639e19d62886f621130f3fa9ff3c7534c5d179f0f51c4f303'
);

const App = () => (
  <InstantSearch
    indexName="steam-videogames"
    searchClient={searchClient}
  >
  </InstantSearch>
);

export default App

5. 添加搜索栏并列出搜索结果

InstantSearch 包装组件内添加 SearchBoxInfiniteHits 组件。Hits 组件通过 hitComponent prop 接受一个自定义的 Hit 组件,这允许自定义每个搜索结果的渲染方式。 导入 CSS 库以美化搜索组件。
import React from 'react';
import { InstantSearch, SearchBox, InfiniteHits } from 'react-instantsearch';
import { instantMeiliSearch } from '@meilisearch/instant-meilisearch';
import 'instantsearch.css/themes/satellite.css';

const { searchClient } = instantMeiliSearch(
  'https://ms-adf78ae33284-106.lon.meilisearch.io',
  'a63da4928426f12639e19d62886f621130f3fa9ff3c7534c5d179f0f51c4f303'
);

const App = () => (
  <InstantSearch
    indexName="steam-videogames"
    searchClient={searchClient}
  >
    <SearchBox />
    <InfiniteHits hitComponent={Hit} />
  </InstantSearch>
);

const Hit = ({ hit }) => (
  <article key={hit.id}>
    <img src={hit.image} alt={hit.name} />
    <h1>{hit.name}</h1>
    <p>${hit.description}</p>
  </article>
);
export default App
使用以下 CSS 类为您的组件添加自定义样式: .ais-InstantSearch, .ais-SearchBox, .ais-InfiniteHits-list, .ais-InfiniteHits-item

6. 启动应用程序并边输入边搜索

通过运行以下命令启动应用程序
npm run dev
现在打开您的浏览器并导航到您的 React 应用程序 URL(例如 localhost:3000),然后开始搜索。
React app search UI with a search bar at the top and search results for a few video games
遇到问题?查看我们的实时演示中的代码!

下一步

想搜索您自己的数据?在 Meilisearch Dashboard 中创建一个项目。请查看我们的入门指南以获取分步说明。
© . This site is unofficial and not affiliated with Meilisearch.