Skip to content

useTransitionRouter It doesn't work if the URL has parameters #30

Closed as duplicate of#19
@FSSRepo

Description

@FSSRepo
  const router = useTransitionRouter();

  const [selectedBrand, setSelectedBrand] = useState('');
  const [selectedType, setSelectedType] = useState('');
  const [selectedGender, setSelectedGender] = useState('');

  useEffect(() => {
    setSelectedBrand(searchParams.get('brand') ?? '');
    setSelectedType(searchParams.get('type') ?? '');
    setSelectedGender(searchParams.get('gender') ?? '');
  }, [searchParams]);

  const updateParam = (param: string, value: string) => {
    const params = new URLSearchParams(Array.from(searchParams.entries()));
    if (value) params.set(param, value);
    else params.delete(param);
    if(param == 'brand') {
      params.delete('search');
    }
    router.push( `${pathname != '/products' ? '/products' : pathname}?${params.toString()}`); // this doesn't work
  };

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions