I’ve managed to send a single value which worked fine, however now that I want to send multiple values I cannot.
filterSlice:
<code>const initialState = {
searchTerm: "",
category: "all",
};
...
</code>
<code>const initialState = {
searchTerm: "",
category: "all",
};
...
</code>
const initialState = {
searchTerm: "",
category: "all",
};
...
RTK Query:
<code>getRecipes: builder.query({
query: (filter) => ({
url: "/api/recipes",
params: { filter },
}),
providesTags: ["Recipes"],
}),
</code>
<code>getRecipes: builder.query({
query: (filter) => ({
url: "/api/recipes",
params: { filter },
}),
providesTags: ["Recipes"],
}),
</code>
getRecipes: builder.query({
query: (filter) => ({
url: "/api/recipes",
params: { filter },
}),
providesTags: ["Recipes"],
}),
and in my component I have:
<code>const filter = useSelector((state) => state.filter);
console.log(filter); // {searchTerm: '', category: 'all'}
</code>
<code>const filter = useSelector((state) => state.filter);
console.log(filter); // {searchTerm: '', category: 'all'}
</code>
const filter = useSelector((state) => state.filter);
console.log(filter); // {searchTerm: '', category: 'all'}
So to send this I’ve tried:
<code>const {
data: recipes,
error,
isLoading,
} = useGetRecipesQuery({
searchTerm: filter.searchTerm,
category: filter.category,
});
</code>
<code>const {
data: recipes,
error,
isLoading,
} = useGetRecipesQuery({
searchTerm: filter.searchTerm,
category: filter.category,
});
</code>
const {
data: recipes,
error,
isLoading,
} = useGetRecipesQuery({
searchTerm: filter.searchTerm,
category: filter.category,
});
and
<code>...
= useGetRecipesQuery({
...filter
});
</code>
<code>...
= useGetRecipesQuery({
...filter
});
</code>
...
= useGetRecipesQuery({
...filter
});
and
<code>= useGetRecipesQuery(filter);
</code>
<code>= useGetRecipesQuery(filter);
</code>
= useGetRecipesQuery(filter);
but whatever I try, in the express route when I do:
<code>console.log(req.query.filter.searchTerm, req.query.filter.category);
</code>
<code>console.log(req.query.filter.searchTerm, req.query.filter.category);
</code>
console.log(req.query.filter.searchTerm, req.query.filter.category);
I get: undefined undefined
How can I get those values in req
?