Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

317
Views
Cómo analizar la cadena de consulta en react-router v4

En react-router v3, pude acceder a él con props.location.query.foo (si la ubicación actual fuera ?foo=bar )

En react-router-dom@4.0.0 props.location solo tiene props.location.search con una cadena como ?foo=bar&other=thing .

Tal vez necesito analizar y deconstruir manualmente esa cadena para encontrar el valor de foo u other .

Captura de pantalla de console.log(this.props) : ingrese la descripción de la imagen aquí(Observe cómo desde ?artist=band aquí me gustaría obtener el valor del artist que es la band de valor)

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Parece que ya asumiste lo correcto. La capacidad de analizar cadenas de consulta se eliminó de V4 porque ha habido solicitudes a lo largo de los años para admitir diferentes implementaciones. Con eso, el equipo decidió que sería mejor que los usuarios decidieran cómo sería esa implementación. Recomendamos importar una cadena de consulta lib. El que mencionas me ha funcionado muy bien hasta ahora.

 const queryString = require('query-string'); const parsed = queryString.parse(props.location.search);

También puede usar new URLSearchParams si desea algo nativo y funciona para sus necesidades.

 const search = props.location.search; // could be '?foo=bar' const params = new URLSearchParams(search); const foo = params.get('foo'); // bar

Puedes leer más sobre la decisión aquí

over 4 years ago · Santiago Trujillo Report

0

Ofrezco mi pequeña función de forma ES6 , increíble, liviana y útil:

 getQueryStringParams = query => { return query ? (/^[?#]/.test(query) ? query.slice(1) : query) .split('&') .reduce((params, param) => { let [key, value] = param.split('='); params[key] = value ? decodeURIComponent(value.replace(/\+/g, ' ')) : ''; return params; }, {} ) : {} };

Todo está aquí, espero poder ayudarte.

over 4 years ago · Santiago Trujillo Report

0

Es posible que obtenga el siguiente error al crear una compilación de producción optimizada al usar el módulo de cadena de consulta .

No se pudo minimizar el código de este archivo: ./node_modules/query-string/index.js:8

Para superar esto, use el módulo alternativo llamado stringquery que hace el mismo proceso sin ningún problema mientras ejecuta la compilación.

 import querySearch from "stringquery"; var query = querySearch(this.props.location.search);

Gracias.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!