Por María Gathoni

Cree una aplicación fácil de usar aprovechando los parámetros de consulta.

Lectores como tú ayudan a apoyar a MUO. Cuando realiza una compra utilizando enlaces en nuestro sitio, podemos ganar una comisión de afiliado. Leer más.

Los parámetros de consulta son pares de nombre/valor que puede agregar al final de una URL. Le permiten almacenar datos en esa URL.

Una aplicación práctica de los parámetros de consulta es almacenar valores de la búsqueda de un usuario.

Uso de React Router para actualizar los parámetros de consulta

Cuando un usuario ingresa una consulta en una barra de búsqueda, debe almacenar esa consulta en la URL. Por ejemplo, si un usuario buscó publicaciones en la categoría "reaccionar" en una lista de blogs, la URL actualizada debería verse así: /posts? etiqueta = reaccionar.

React proporciona el enlace useSearchParams que lo ayuda a leer o actualizar cadenas de consulta.

Para comenzar, cree una barra de búsqueda en App.js.

instagram viewer
importar { estado de uso } de"reaccionar";
exportarpor defectofunciónaplicación() {
constante [consulta, establecerconsulta] = useState('')
constante handleChange = (mi) => {
establecer consulta(mi.objetivo.valor)
};
devolver (
<división>
<formarole="buscar">
<aporteonChange={manejarcambio}valor={consulta}tipo="buscar" />
forma>
división>
);
}

Recuerda seguir mejores prácticas al usar React para sacarles el máximo partido.

Luego, instale el enrutador React y agregue enrutamiento a su aplicación. Esto es imprescindible para que funcione el enlace useSearchParams.

importar Reaccionar de"reaccionar";
importar ReactDOM de"reaccionar-dom/cliente";
importar"./index.css";
importar aplicación de"./Aplicación";
importar { NavegadorRouter, Ruta, Rutas } de"reaccionar-router-dom";

constante root = ReactDOM.createRoot(documento.getElementById("raíz"));
raíz.prestar(
<Reaccionar. Modo estricto>
<NavegadorRouter>
<Rutas>
"/" elemento={} />
Rutas>
NavegadorRouter>
Reaccionar. Modo estricto>
);

Ahora puede guardar las consultas en la URL a medida que el usuario escribe modificando la función handleChange().

importar { estado de uso } de"reaccionar";
importar { useSearchParams } de"reaccionar-router-dom";

exportarpor defectofunciónaplicación() {
constante [consulta, establecerconsulta] = useState("");
constante [searchParams, setSearchParams] = useSearchParams({});

constante handleChange = (mi) => {
setSearchParams({ consulta: e.objetivo.valor });
establecer consulta(mi.objetivo.valor);
};
devolver (
<división>
<formarole="buscar">
<aporteonChange={manejarcambio}valor={consulta}tipo="buscar" />
forma>
división>
);
}

Obtener los valores de consulta de la URL

Puede obtener un único valor de consulta utilizando searchParams.get() y pasando el nombre del parámetro de consulta.

constante [searchParams, setSearchParams] = useSearchParams({});
constante valor = searchParams.get('etiqueta')

Para obtener todos los parámetros de consulta, use searchParams.entries().

constante [searchParams, setSearchParams] = useSearchParams({});
constante valores = searchParams.entries()

Este método devuelve un iterador que puede iterar usando pares clave/valor.

para (constante [valor clave] de valores) {
consola.registro(`${clave}, ${valor}`);
}

Los pares clave/valor están en el orden en que aparecen en la URL.

Utilice parámetros de consulta para mejorar la compartibilidad de los resultados de búsqueda

El enlace useSearchParams es excelente para almacenar valores de búsqueda o cualquier otro dato como parámetros de consulta en una URL.

También puede realizar un seguimiento de los valores de búsqueda con el enlace useState, pero almacenarlos en un parámetro de consulta significa que las personas pueden compartirlos a través de la URL.

Suscríbete a nuestro boletín

Comentarios

CompartirPíoCompartirCompartirCompartir
Copiar
Correo electrónico
Compartir
CompartirPíoCompartirCompartirCompartir
Copiar
Correo electrónico

Enlace copiado al portapapeles

Temas relacionados

  • Programación
  • Programación
  • Reaccionar
  • Desarrollo web
  • JavaScript

Sobre el Autor

María Gathoni (70 artículos publicados)

Mary es redactora del personal de MUO con sede en Nairobi. Tiene una licenciatura en Física Aplicada y Ciencias de la Computación, pero le gusta más trabajar en tecnología. Ha estado codificando y escribiendo artículos técnicos desde 2020.