AlgoliaFrontendIonicJavaScriptReactSaaS / FaaS

Ionicのion-searchbarでAlgolia Instantsearchの検索を実行する #AlgoliaJP

この記事は、「Algolia Advent Calendar 2020」の投稿です。 このサイトの検索フォームは、Ionicのion-searchbarタグを使って実装しています。 SSG / SSRを実行するNext. […]

広告ここから
広告ここまで

この記事は、「Algolia Advent Calendar 2020」の投稿です。

このサイトの検索フォームは、Ionicのion-searchbarタグを使って実装しています。

SSG / SSRを実行するNext.jsを使っている関係上、@ionic/reactではなく@ionic/coreを直接使っているのですが、ion-searchbarにAlgoliaの検索を仕込むのにちょっとてこずったので、その時のコードを紹介します。


export const IonicSearch = connectSearchBox(({
    currentRefinement,
    refine,
}) => {
    const handleInput = useCallback((event) => {
        refine(event.target.value)
    }, [refine])
    return (
    <ion-searchbar
        value={currentRefinement}
        onInput={handleInput}
        placeholder="WP Kyoto"
    />)
})

connectSearchBoxを利用し、入力された値はcurrentRefinementを利用して表示します。今回は入力毎に検索を実行するので、onInputのイベントを拾って、refineを実行させるようにしました。

あとはこのコンポーネントを、InstantSearchの子・孫要素として配置すればOKです。

今回の例ではion-searchbarでしたが、各UIライブラリの検索フォームを使いたい場合にも応用できると思います。

ブックマークや限定記事(予定)など

WP Kyotoサポーター募集中

WordPressやフロントエンドアプリのホスティング、Algolia・AWSなどのサービス利用料を支援する「WP Kyotoサポーター」を募集しています。
月額または年額の有料プランを契約すると、ブックマーク機能などのサポーター限定機能がご利用いただけます。

14日間のトライアルも用意しておりますので、「このサイトよく見るな」という方はぜひご検討ください。

広告ここから
広告ここまで

Related Category posts