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

902
Visualizações
Obtener nombre de ruta de URL en nextjs

Tengo una página de inicio de sesión y un componente de diseño. El componente de diseño tiene un encabezado. No quiero mostrar el encabezado en el inicio de sesión.

 import * as constlocalStorage from '../helpers/localstorage'; import Router from 'next/router'; export default class MyApp extends App { componentDidMount(){ if(constlocalStorage.getLocalStorage()){ Router.push({pathname:'/app'}); } else{ Router.push({pathname:'/signin'}); } } render() { const { Component, pageProps } = this.props return ( //I want here pathname for checking weather to show header or not <Layout> <Component {...pageProps} /> </Layout> ) } }

por favor ayuda

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Si desea acceder al objeto del router dentro de cualquier componente funcional en su aplicación, puede usar el useRouter , así es como se usa:

 import { useRouter } from 'next/router' export default function ActiveLink({ children, href }) { const router = useRouter() const style = { marginRight: 10, color: router.pathname === href ? 'red' : 'black', } const handleClick = e => { e.preventDefault() router.push(href) } return ( <a href={href} onClick={handleClick} style={style}> {children} </a> ) }

Si useRouter no es la mejor opción para usted, withRouter también puede agregar el mismo objeto de enrutador a cualquier componente, así es como se usa:

 import { withRouter } from 'next/router' function Page({ router }) { return <p>{router.pathname}</p> } export default withRouter(Page)

https://nextjs.org/docs/api-reference/next/router#userouter

over 4 years ago · Santiago Trujillo Relatório

0

Puede usar la propiedad asPath , que le dará la ruta (incluida la consulta) que se muestra en el navegador sin la configuración regional o basePath locale :

 const { asPath } = useRouter()
over 4 years ago · Santiago Trujillo Relatório

0

Supongamos que la URL completa de una página es 'abc.com/blog/xyz' y el nombre del archivo del componente que coincide con esta ruta es './pages/blog/[slug].js'

El gancho useRouter() devuelve un objeto de ruta, que tiene dos propiedades para obtener el nombre de la ruta.

  1. Una es la propiedad asPath , y

  2. Otra es la propiedad pathname .

La propiedad asPath contiene el nombre de ruta extraído de la URL, es decir /blog/xyz

pero la propiedad de nombre de pathname contiene el nombre de ruta de su directorio de proyecto, es decir, /blog/[slug] .

Implementación de ejemplo

 // .pages/blog/[slug].js import { useRouter } from 'next/router'; const BlogSlug = () => { const { asPath, pathname } = useRouter(); console.log(asPath); // '/blog/xyz' console.log(pathname); // '/blog/[slug]' return ( <div></div> ); } export default BlogSlug;
over 4 years ago · Santiago Trujillo 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