Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

390
Vistas
Next.js representa el elemento dos veces

En la primera imagen, puede ver que next.js representó este elemento dos veces

Utilicé tablas y pensé que era por ellas, pero luego traté de quitar tablas y poner jut y todavía se muestra dos veces, así que no sé qué puede ser.

Next.js no representa solo ese elemento sino el primero de este objeto

 const Sections = { 1: Locations, 0: Departments, // here it will render this one twice 2: Managers, 3: JobTitles, };

Tal vez tenga algo que ver con useState y mi statemanagment en este código a continuación

Componente que renderiza dos veces.

 const Locations = () => { return <div>hdjsad</div>; };

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

 // Tab Sections import Locations from '' import Departments from '' import Managers from '' import JobTitles from '' import Icons from "../../Icons"; import TabItem from "./TabItem"; const tabs_text = ["Locations", "Departments", "Managers", "Job Titles"]; const Sections = { 0: Locations, // THIS IS THE COMPONENT WHICH RENDERS TWICE 1: Departments, 2: Managers, 3: JobTitles, }; const SettingsTab = () => { const [active, setActive] = useState<number>(0); const select = useCallback((id: number) => { return () => setActive(id); }, []); const ActiveSection = useMemo(() => Sections[active], [active]); return ( <section className={"mb-[24px]"}> <header className={"w-full flex items-center mb-[34px] pl-[24px] pr-[12px]"} > <div className={"flex space-x-[8px] !mb-0 overflow-x-scroll"}> {tabs_text.map((tab_text, i) => { return ( <div onClick={select(i)} key={i}> <TabItem active={+active === i}>{tab_text}</TabItem> </div> ); })} </div> <ImportLocationsAndFilter /> </header> <ActiveSection /> </section> ); };

APP.js

 import { AppProps } from "next/app"; import "antd/dist/antd.css"; import "../styles/global.css"; function MyApp({ Component, pageProps }: AppProps) { return <Component {...pageProps} />; } export default MyApp;
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Acabo de importar mis pestañas dinámicamente y configuré SSR: falso.

Tiene que ver algo con la hidratación next.js.

https://nextjs.org/docs/advanced-features/dynamic-import

 dynamic( () => import(""), { ssr: false, } );
about 4 years ago · Juan Pablo Isaza Denunciar

0

Todavía no puedo comentar, así que lo haré aquí. Sé que react dice en los documentos oficiales que nunca confíe en UseMemo o Use callback para la funcionalidad. Dice que debe crear su aplicación para que funcione sin ellos y luego agregarlos por razones de rendimiento. ¿Qué pasaría si sacaras el useMemo y pusieras

 ActiveSelection = Selections[active]

No creo que solucione su problema, pero podría darle más información sobre lo que lo está causando.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda