Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

290
Visualizações
¿Cómo puedo usar una matriz en el enrutamiento con react-router?

Este es mi enrutamiento con patrón regex por react-router. El componente ItemList aparece cuando la URL es /categories/cat1 o /categories/cat2 o /categories/cat3 o /categories/cat4 o /categories/cat5 o /categories/cat6 ; de lo contrario, aparece el componente NotFound .

 function App() { return ( <Router> <Header /> <Container > <Switch> <Route exact path='/' component={Home} /> <Route path='/categories/(cat1|cat2|cat3|cat4|cat5|cat6)' component={ItemList} /> <Route path="*" component={NotFound} /> </Switch> </Container> <Footer /> </Router> ); }

Quiero usar una matriz dinámica para el enrutamiento de ItemList de esta manera:

 const itemCategories = ['cat1','cat2','cat3','cat4','cat5','cat6'];

en este camino:

 path='/categories/(cat1|cat2|cat3|cat4|cat5|cat6)'
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Si entiendo su pregunta, desea generar una ruta que maneje múltiples categorías.

  1. Renderice una sola ruta con un parámetro de coincidencia. Esto le permite manejar dinámicamente cualquier valor de categoría.

     <Route path='/categories/:category' component={itemList} />
  2. Renderice una sola ruta con una matriz de ruta. Esto le permite manejar categorías específicamente permitidas. Esto da como resultado path={["/categories/cat1", "/categories/cat2", ... , "/categories/cat6"]} .

     <Route path={itemCategories.map(cat => `/categories/${cat}`)} component={itemList} />
  3. Representa una ruta única con una matriz de ruta y un mapa en la expresión regular. Esto da como resultado path='/categories/(cat1|cat2|cat3|cat4|cat5|cat6)' como estabas buscando.

     <Route path={`/categories/(${itemCategories.map((cat) => cat).join("|")})`} component={ItemList} />
  4. Renderice una ruta para cada categoría. Esto le permite manejar categorías permitidas específicamente, pero básicamente duplica el componente Route .

     { itemCategories.map(cat => ( <Route key={cat} path={`/categories/${cat}`} component={itemList} /> )) }

Quiero enrutar solo para cat1 a cat6. Si el usuario escribe algo más, como categorías/cat7, aparecerá la página notFound.

Para esto sugeriría la opción 2 o 3.

about 4 years ago · Juan Pablo Isaza Relatório

0

Puede usar : para configurarlo en una ruta dinámica como esta:

 <Route path="/categories/:cat" component={itemList} />

y luego renderizar la ruta de acuerdo con la elección de los usuarios

O puede mapear las rutas así:

 {itemCategories.map(route => { return <Route path=`/categories/${route}}` component={itemList}/> }}

No estoy seguro de lo que quieres, así que di ambas opciones.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda