- 必要なパッケージのインストール: まず、ReactとRxJSのパッケージをインストールする必要があります。以下のコマンドを使用してインストールします。
npm install react rxjs
- コンポーネントの作成:
自動補完機能を実装するReactコンポーネントを作成します。例えば、
Autocomplete
というコンポーネントを作成します。
import React, { useState, useEffect } from 'react';
import { fromEvent } from 'rxjs';
import { debounceTime, distinctUntilChanged, switchMap } from 'rxjs/operators';
const Autocomplete = () => {
const [searchTerm, setSearchTerm] = useState('');
const [suggestions, setSuggestions] = useState([]);
useEffect(() => {
const inputElement = document.getElementById('search-input');
const inputObservable = fromEvent(inputElement, 'input').pipe(
debounceTime(300),
distinctUntilChanged(),
switchMap(event => {
const query = event.target.value;
// リクエストを送信して予測候補を取得するロジックを実装する
// 仮の予測候補の例
const mockSuggestions = ['apple', 'banana', 'cherry'];
return mockSuggestions;
})
);
const subscription = inputObservable.subscribe(suggestions => {
setSuggestions(suggestions);
});
return () => {
subscription.unsubscribe();
};
}, []);
return (
<div>
<input id="search-input" type="text" value={searchTerm} onChange={event => setSearchTerm(event.target.value)} />
<ul>
{suggestions.map((suggestion, index) => (
<li key={index}>{suggestion}</li>
))}
</ul>
</div>
);
};
export default Autocomplete;
- コンポーネントの使用:
作成した
Autocomplete
コンポーネントを他の場所で使用します。
import React from 'react';
import Autocomplete from './Autocomplete';
const App = () => {
return (
<div>
<h1>自動補完のデモ</h1>
<Autocomplete />
</div>
);
};
export default App;
以上の手順で、ReactとRxJSを使用した自動補完機能の実装が完了します。ユーザーがテキスト入力するたびに、自動補完の予測候補が表示されます。実際の予測候補の取得ロジックは、コメントで示した箇所でカスタマイズしてください。