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

96
Visualizações
La URL no cambia constantemente en el enrutador React

Obtengo un comportamiento extraño al usar @reach/router . Mi objetivo es tener una página con pestañas. Cuando hago clic en una pestaña, la URL cambia y la página cambia (aunque no recarga toda la página). He estado usando chakra ui ya que hace que el tema sea más fácil para mí.

El comportamiento que obtengo es extraño. A veces, la URL cambia cuando cambio de pestaña. Funciona muy bien. Luego, a veces, la URL no cambia, aunque he cambiado de pestaña.

Mi proyecto se encuentra aquí

 import React from "react"; import { Router, Link } from "@reach/router"; import { Tab, Tabs, TabList, TabPanel, TabPanels, useColorModeValue } from "@chakra-ui/react"; import Somatic from "../pages/somatic"; import Ef from "../pages/executive_functions_coaching"; import Intro from "../pages/home"; function ConceptTabs(props) { const [tabIndex, setTabIndex] = React.useState(0); return ( <> <Tabs size="lg" isFitted variant="soft-rounded" colorScheme="yellow" onChange={(index) => { setTabIndex(index); }} > <TabList> <Tab> <Link to="/"> Tab1 </Link> </Tab> <Tab> <Link to="/executive_functions_coaching/"> Tab2 </Link> </Tab> <Tab> <Link to="/somatics/"> Tab3 </Link> </Tab> </TabList> <TabPanels p="2rem"> <TabPanel> <Router> <Intro path='/' /> </Router> </TabPanel> <TabPanel> <Router> <Ef path='/executive_functions_coaching/' /> </Router> </TabPanel> <TabPanel> <Router> <Somatic path='/somatics/' /> </ Router> </TabPanel> </TabPanels> </Tabs> </> ); } export default ConceptTabs;

Intenté usar <NavLink> pero tuve problemas similares. Soy bastante nuevo en el enrutamiento, pero he logrado que esto funcione sin las pestañas. Me pregunto si hay una manera de hacer que el enrutador funcione con pestañas.

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Parece extraño que esté mezclando reach-router y react-router-dom , es el sucesor, pero la raíz de su problema con las pestañas es que cada componente de la Tab representa un Link , pero la pestaña completa no es responsable de la navegación.

ingrese la descripción de la imagen aquí

Solo la parte de texto en el medio de cada pestaña/botón es el enlace real , por lo que la navegación solo funciona si hace clic con precisión en la parte de texto de cada pestaña que es el enlace.

Para resolverlo, puede representar cada componente de Tab como un componente de Link .

El componente as prop y custom

 <TabList> <Tab as={Link} to="/"> tab1 </Tab> <Tab as={Link} to="/executive_functions_coaching/"> tab </Tab> <Tab as={Link} to="/somatics/"> tab3 </Tab> </TabList>

Editar url-no-cambiando-consistentemente-en-reaccionar-enrutador

about 4 years ago · Juan Pablo Isaza Relatório

0

Vea las siguientes 2 capturas de pantalla.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Como puede ver, la etiqueta 'a' está en una etiqueta 'botón'. El tamaño real de "a" es muy pequeño. Si puede hacer clic en la pestaña 1, se produce mediante el botón. Entonces, por favor, la respuesta de Drew Reese se adapta a ti. Gracias.

about 4 years ago · Juan Pablo Isaza Relatório

0

Lo que podría hacer es agregar onClick={()=>history.push('/route')} en sus pestañas.

Aquí es cómo inicializar la history :

 improt { useHistory } from 'react-router-dom'; // inside your component: history = useHistory();
about 4 years ago · Juan Pablo Isaza 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