Как используя чекбоксы менять параметры ссылки для получения данных из api используя URLSearchParams

Необходимо при выборе нескольких чекбоксов в фильтрах добавлять параметры ссылке чтобы при нажатии кнопки получать отфильтрованные данные из api. Нужно использовать URLSearchParams



export function Filters(props) {
  const [filters, setFilters] = useState({ platform: [], category: [] })


  useEffect(() => {
    props.getGames()
  }, [])
// в useEffect список не фильтрованных игр(https://free-to-play-games-database.p.rapidapi.com/api/games)

  const onSubmitFilter = () => {
    const filterCategory = filters.category;
    const queryParams = new URLSearchParams();

    for (let i = 0; i < filterCategory.length; i++) {
      if (filterCategory[i].checked) {
        const value = filterCategory[i].value;
        queryParams.append('platform', value);
        
      }
      let query = ''
      query += '?category=' + queryParams;
      props.getGames(query)
     
    }
    
  }

  

  const onFilterChange = (event) => {
    const { name, value, checked } = event.target;

    if (checked) {
      filters[name].push(value);
      setFilters({ ...filters });
    } else {
      const newFilters = filters[name].filter(
        (filter) => filter !== value
      );

      setFilters({ ...filters, [name]: newFilters });
    }
  };
  

  return (
    <div className='filters'>
      <fieldset>
        <legend>Платформа:</legend>
        <ul className='filters-list'>
          <li className='filters-item'>
            <input type="checkbox" name="platform" value="pc" id="pc" onChange={onFilterChange}></input>
            <label for="pc">ПК</label>
          </li>
          <li className='filters-item'>
            <input type="checkbox" name="platform" value="browser" id="browser" onChange={onFilterChange}></input>
            <label for="browser">Брузер</label>
          </li>
        </ul>
      </fieldset>
      <fieldset>
        <legend>Жанр:</legend>
        <ul className='filters-list'>
          <li className='filters-item'>
            <input type="checkbox" name="category" value="shooter" id="shooter" onChange={onFilterChange}></input>
            <label for="shooter">Шутер</label>
          </li>
          <li className='filters-item'>
            <input type="checkbox" name="category" value="pvp" id="pvp" onChange={onFilterChange}></input>
            <label for="pvp">ПВП</label>
          </li>
          <li className='filters-item'>
            <input type="checkbox" name="category" value="racing" id="racing" onChange={onFilterChange}></input>
            <label for="racing">Гонки</label>
          </li>
          <li className='filters-item'>
            <input type="checkbox" name="category" value="strategy" id="strategy" onChange={onFilterChange}></input>
            <label for="strategy">Стратегии</label>
          </li>
        </ul>
      </fieldset>
      <button type="button" onClick={onSubmitFilter}>Применить</button>
    </div>
  )
} ```

Ответы (0 шт):