Hola, mi solución es algo diferente :
En App hice estos cambios a las rutas:
…
const AppRoutes = ()=>{
let routes = useRoutes([
{ path:'/', element:<Home /> },
{ path:'/:category', element:<Home /> },....'
y en Home tome el valor de la rutas y luego hice el filtrado:
function Home() {
const context = useContext(ShoppingCardContext)
const currentPath = window.location.pathname
let index = capitalizarPrimeraLetra(currentPath.substring(currentPath.lastIndexOf('/')+1))
console.log(context.items)
const renderView = ()=>{
if(context.searchByTitle?.length > 0){
if(context.filterItems?.length > 0){
if(index){
return (
context.filterItems?.filter(item => item.category.name === index).map((item)=>(
<Card key={item.id} data = {item}/>
))
)
}else{
return (
context.filterItems?.map((item)=>(
<Card key={item.id} data = {item}/>
))
)}}else{
return(
<div>We don't have anything</div>
)
}'
espero que les sirva.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?