Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

176
Vistas
¿Es una práctica incorrecta usar parámetros de URL como una forma de obtener datos usando el enrutador de reacción en una aplicación de reacción?

En mi aplicación, tengo una página Home que tiene un elemento secundario llamado Posts , las rutas están configuradas de la siguiente manera:

 <Route path='/' element={<Home />}> <Route path='/posts/popular' element={<Posts />} /> <Route path='/posts/new' element={<Posts />} /> </Route>

Me gustaría configurarlo donde, si estoy en el camino popular , mi llamada API será:

 axios.get('/posts?sort=-popular')

Pero si estoy en nuevo, entonces la llamada sería:

 axios.get('/posts?sort=-createdAt')

La forma en que estaba pensando en implementarlo era convertir el segundo parámetro en un selector como:

 <Route path='/' element={<Home />}> <Route path='/posts/:sortBy' element={<Posts />} /> </Route> // in my Posts component I would call useParams const {sortBy} = useParams(); // then in useEffect axios.get(`/posts?sort=-${sortBy})

Pero esto se siente mal, como si lo estuviera haciendo mal. ¿Cuál es una mejor manera, si la hay, de implementar esta funcionalidad?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Puede pasar accesorios al componente <Posts /> en su Route .

Aquí hay un ejemplo:

 <Route path='/' element={<Home />}> <Route path='/posts/popular' element={<Posts sort="popular" />} /> <Route path='/posts/new' element={<Posts sort="createdAt" />} /> </Route>

Luego, dentro de Posts , puede usar el accesorio para determinar qué llamada realizar:

 const Props = ({ sort }) => { // then in useEffect axios.get(`/posts?sort=-${sort})
about 4 years ago · Juan Pablo Isaza Denunciar

0

Lo que hizo está bien, pero hará que el componente sea más difícil de reutilizar, además, si cambió la ruta, deberá cambiar también las Posts del componente. Es mejor agregar un nuevo accesorio sortBy dentro de las publicaciones de su Posts y pasar el accesorio dentro de su componente Route .

 <Route path='/' element={<Home />}> <Route path='/posts/popular' element={<Posts sortBy="popular" />} /> <Route path='/posts/new' element={<Posts sortBy="new"/>} /> </Route>
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda