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

217
Vistas
object is possibly "undefined" ts2532

I get the error when I want to make a slider and I have looked for several alternatives to solve it but none of them work. The error is in useEffect(() => {setWidth ( carousel.current.scrollWidth - carousel.current.offsetWidth)}, []); and in carousel.current

import React from "react";
import { motion } from "framer-motion";
import { useRef, useEffect, useState } from "react";
import images from "../images";

function Sliders() {
  const [width, setWidth] = useState(0);
  const carousel = useRef();

  
  useEffect(() => {
    setWidth (carousel.current.scrollWidth -  carousel.current.offsetWidth)
  }, []);

  return (
    <div className="Sliders">
      <motion.div red={carousel} className="carusel" whileTap={{cursor: "grabbing"}} >
        <motion.div drag="x"
          dragConstraints={{ right: 0, left: -width}}
          className="inner-carousel"
        >
          {images.map((image) => {
            return (
              <motion.div className="item" key={image}>
                <img src={image} alt="" />
              </motion.div>
            );
          })}
        </motion.div>
      </motion.div>
    </div>
  );
}

export default Sliders

about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

When the component is launched, initially the value for carousel.current is undefined. Just wrap the statement in if condition, and I believe it should work.

useEffect(() => {
  if (carousel?.current) {
    setWidth (carousel.current.scrollWidth -  carousel.current.offsetWidth)
  }
}, []);

Note: You can try to console carousel.current before return statement to be sure when the object is undefined and at what point it gets populated.

about 4 years ago · Santiago Gelvez 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