Bird
0
0

You want to implement a search that filters a list of products by name and category in Remix. Which approach correctly combines multiple query parameters in the loader?

hard📝 component behavior Q8 of 15
Remix - Advanced Patterns
You want to implement a search that filters a list of products by name and category in Remix. Which approach correctly combines multiple query parameters in the loader?
Aconst { name, category } = request.body; const filtered = products.filter(p => p.name === name && p.category === category);
Bconst url = new URL(request.url); const name = url.searchParams.get('name') || ''; const category = url.searchParams.get('category') || ''; const filtered = products.filter(p => p.name.includes(name) && p.category.includes(category));
Cconst params = useSearchParams(); const filtered = products.filter(p => p.name.includes(params.name) && p.category.includes(params.category));
Dconst filtered = products.filter(p => p.name.includes(request.query.name) && p.category.includes(request.query.category));
Step-by-Step Solution
Solution:
  1. Step 1: Extract multiple query parameters from URL

    Use URL and searchParams.get for each parameter with fallback to empty string.
  2. Step 2: Filter products by both name and category

    Use includes() to allow partial matches on both fields combined with AND logic.
  3. Final Answer:

    Extract multiple query parameters from URL and filter products using includes() on both fields. -> Option B
  4. Quick Check:

    Multiple query params extracted via URL and filtered [OK]
Quick Trick: Extract each query param with searchParams.get and filter accordingly [OK]
Common Mistakes:
MISTAKES
  • Using request.body in loader
  • Using useSearchParams hook in loader
  • Accessing request.query which doesn't exist

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Remix Quizzes