Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

141
Views
Creando un componente Observer en React - Pasando accesorios a los niños

Estoy buscando construir un componente de observador de intersección en un proyecto personal de Gatsby. La razón de esto es que la animación y el activador son los mismos en diferentes áreas del sitio. Lo que tengo hasta ahora:

 // Observer.js import React, { useEffect, useRef } from "react"; import { useAnimation } from "framer-motion"; const Observer = ({ children }) => { const controls = useAnimation(); const ref = useRef(); useEffect(() => { const observer = new IntersectionObserver( ([entry]) => { if (entry.isIntersecting) { controls.start({ opacity: 1, transition: { duration: 0.75, delay: 0.75 }, }); } }, { root: null, rootMargin: "0px", threshold: 0.1, } ); if (ref.current) { observer.observe(ref.current); } }, [ref]); return <div ref={ref}>{children}</div>; }; export default Observer;

Lo que busco hacer es acceder a los controls en los elementos secundarios del componente Observer.js .

 // ChildComponent.js const ChildComponent= (props) => { return ( <Observer> <div> <motion.div initial={{ opacity: 0 }} animate={props.controls} > <h2>This will animate on scroll</h2> </motion.div> </div> </Observer> ); }; export default ChildComponent;

He visto respuestas como -Pasar accesorios del diseño a niños en Gatsby - pero obtengo el error props.children is not a function cuando intento esto.

¿Es posible lo que estoy buscando hacer, o hay una mejor manera de lograrlo?

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!