ホームページ  >  に質問  >  本文

React を使用してフィルタリング関数を作成する

<p>react useState で入力値イベントを受信したときに起動するフィルター関数を作成したいのですが、入力を開始しても何も実行されていないことがわかります。これは私の検索コンポーネントです</p> <pre class="brush:php;toolbar:false;">エクスポート関数 Search({categories, onSearch}){ const [searchText, setSearchText] = useState(''); const filterカテゴリ = () => { const filteredCategories = category.filter(category => category.name.toLowerCase().includes(searchText.toLowerCase()) ); onSearch(フィルターされたカテゴリ); }; const handleInputChange = イベント => { setSearchText(event.target.value); フィルターカテゴリ(); }; 戻る ( <div className="flex items-center"> <form className='flex space-x-1' > <入力 type="テキスト" className="block w-full px-4 py-2 text-purple-700 bg-white borderrounded-full focus:border-purple-400 focus:ring-purple-300 focus:outline-none focus:ring focus:ring -不透明度-40" placeholder="検索..." 値={検索テキスト} onChange={handleInputChange} /> </フォーム> </div> ) }</pre> <p>次に、ここで</p>を使用します <pre class="brush:php;toolbar:false;">const Layout = ({ カテゴリ, 子 }) => { const [フィルターされたカテゴリ、セットフィルターされたカテゴリ] = useState(カテゴリ); const handleSearch = (filteredCategories) => { setFilteredCategories(filteredCategories); }; 戻る ( <div> {/* ... */} <カテゴリを検索={カテゴリ} onSearch={handleSearch} /> {/* ... */} {子供たち} </div> ); }; デフォルトのレイアウトをエクスポート;</pre> <p>このコンポーネントはホーム コンポーネントで使用されます</p> <pre class="brush:php;toolbar:false;">デフォルト関数のエクスポート Home({ 投稿, カテゴリ }) { 戻る ( <レイアウトカテゴリ={カテゴリ}> <div className="mt-20"> <main className="flex flex-col justify-center items-center h-screen pt-10 pb-30"> {/* 投稿をレンダリング */} </メイン> </div> </レイアウト> ); }</pre> <p>それを機能させるために何かすべきことはありますか? </p>
P粉596191963P粉596191963453日前547

全員に返信(1)返信します

  • P粉431220279

    P粉4312202792023-08-17 14:42:05

    Layout コンポーネントでは、categories の値を検索コンポーネントに渡しています。filteredCategories

    を渡すこともできます。 リーリー

    (filteredCategories は使用されていないため、何も起こらなかったように感じられます)

    返事
    0
  • キャンセル返事