Actualmente estoy buscando una forma en la que pueda saber si el valor de la consulta está vacío.
Lo estoy haciendo usando el método de parámetro de ruta. Tengo el archivo pages/search/[variable1].js
Aquí está mi código:
import { useRouter } from "next/router" const Variable= () => { const router = useRouter() const { variable1 } = router.query console.log(variable1); } Por ejemplo, estoy accediendo a localhost:3000/search/abc , la consola mostraría abc . Si accedo a través de localhost:3000/search/ , la consola no muestra nada. ¿Cuál podría ser la posible condición para que pueda verificar si la variable1 está vacía? Intenté hacer el operador ternario variable1? console.log("not empty") : console.log("empty") pero todavía no veo empty en la consola.
Si no tiene una página definida en pages/search/index.js sino solo pages/search/[variable1].js esto significa que su página [variable1].js nunca capturará /search ruta y nunca mostrará lo que es esperando
Tienes 2 opciones aquí:
pages/search/[...variable1].js que también capturaría la ruta del índice de búsqueda (/ búsqueda)pages/search/index.js y usar parámetros de consulta para capturar la variable de búsquedaPara acceder a localhost:3000/search , debe tener la carpeta index.js en la ruta correspondiente.
La expectativa de la carpeta localhost:3000/search/[veriable1].js es que espera una consulta después de la búsqueda. Entonces, localhost:3000/search y localhost:3000/search/_example_ no son la misma página y no pueden acceder a las consultas entre sí.