EASY React Animation with useGSAP()

Поділитися
Вставка
  • Опубліковано 11 чер 2024
  • GSAP itself is completely framework-agnostic and can be used in any JS framework without any special wrappers or dependencies. However, this hook solves a few React-specific friction points for you so that you can just focus on the fun stuff. 🤘🏻
    useGSAP() is a drop-in replacement for useEffect() or useLayoutEffect() that automatically handles cleanup using gsap.context().
    Import the useGSAP() hook from @gsap/react and you're good to go! All GSAP animations, ScrollTriggers, Draggables, and SplitText instances created when the useGSAP() hook executes will be reverted automatically when the component unmounts and the hook is torn down.
    To learn more, head over to gsap.com/react
    @gsap/react on npm → www.npmjs.com/package/@gsap/r...
    codepen starter → codepen.io/GreenSock/pen/OJmQvLZ
    StackBlitz starter → stackblitz.com/edit/gsap-reac...
    ----- Video Contents -----
    00:00 - Intro
    01:02 - What is useGSAP?
    01:22 - Why is it useful in React?
    02:21 - Cleanup with gsap.context (the old way)
    03:19 - useGSAP() (the new way)
    04:13 - Scope for selector text
    06:04 - Dependencies (reacting to changes in state)
    08:10 - contextSafe (animating on interaction)
    12:09 - Bye!
  • Наука та технологія

КОМЕНТАРІ • 164

  • @shadowslayer2248
    @shadowslayer2248 22 дні тому +8

    Her smile is as beautiful as the easy integration of GSAP with React and smoothness by which GSAP controls and animates the DOM elements. Thank you instructor and mainly thank you developers for the useGSAP hook which makes it so easy, gimme a second to acknowledge your greatness 🙇‍♂🙇‍♂🙏🙏

  • @paakofibamfoquaicoe4193
    @paakofibamfoquaicoe4193 2 місяці тому +7

    Your laughing and smiling throughout the video makes me happy. Great video. Thank you.

  • @mr-skorpion
    @mr-skorpion 3 місяці тому +5

    Beautiful addition to Gsap React ecosystem, thank you team GSAP 👍✨

  • @shash0_0
    @shash0_0 2 місяці тому +2

    Clear, succinct and comprehensive. Your calm energy is just cherry on top!

  • @chrisandrew_tv
    @chrisandrew_tv 2 місяці тому +4

    That's the affectionate and mildly manic smile all develop who have dared attempt complex GSAP animations in React 18 (because it's better to smile than to cry) 😂

  • @user-gf6jw7bm8b
    @user-gf6jw7bm8b 4 місяці тому +1

    Amazing work here, seeing the react hook type syntax with GSAP in it on the thumbnail blew my mind. As always, excellent tutorial by Cassie and great documentation. Will definitely be using it soon enough !

  • @fortysyv
    @fortysyv 4 місяці тому

    This is so awesome. I started my animation journey with gsap but had to switch when I started working in react. I'm so glad you found a solution for the too many refs problem. Thank you. Definitely gonna try this out in my next project

  • @metalyx1
    @metalyx1 3 місяці тому +4

    Had these issues with cleaning up and killing animations, it's perfect you have a hook. Works amazing, just plug and play 👏

  • @shableep
    @shableep 4 місяці тому +8

    whoa this got released just in time for me to build my portfolio site. thank you! you're covering so many important essentials and esoteric React concepts.

  • @kapeeshmanilal1613
    @kapeeshmanilal1613 4 місяці тому +8

    Oh I've been waiting for this! Good work team! 💚

  • @Michael-Martell
    @Michael-Martell 4 місяці тому +4

    Props to all your hard work, not only on this video, but on the documentation and the Starter examples on Stack blitz. It’s extremely helpful! I’ll be playing with it this week and I think I’ll be finally taking the leap into Paid GSAP after my next check! Thanks for all you do!

    • @GreenSockLearning
      @GreenSockLearning  4 місяці тому +1

      Oh this is so nice to hear, thanks for taking the time to leave such a nice message - pop into the forums if you have any feedback or need any help. 💚

  • @jior6
    @jior6 4 місяці тому +28

    It should be illegal to use your guys' platform for free. I'm absolutely blown away how vastly superior GSAP compares to other animation solutions. Very well done.

    • @GreenSockLearning
      @GreenSockLearning  4 місяці тому +7

      Ha, This made us laugh, thanks 💚Honestly though - We appreciate every person that supports our development work through Club GSAP! That support allows us to keep the tools free for the majority.

    • @itgiants5218
      @itgiants5218 3 місяці тому +2

      @@GreenSockLearning we do really appreciate your amazing continuous efforts, great job.

    • @EmmanuelNgwandu
      @EmmanuelNgwandu 3 місяці тому

      Officially starting using gsap in my react projects. Awesome

  • @montoyland
    @montoyland 4 місяці тому +4

    I love how you incorporated Brody into your presentation! It's a testament to your natural ability to go with the flow that, while appears so effortless, takes great skill. Your instructions were clear and speak to larger concerns all React developers should consider even beyond specifically using GSAP. Thanks for the obvious effort you took to show us best practices!

    • @cassieevans604
      @cassieevans604 4 місяці тому

      I just had to accept that Brody just pops by occasionally, even if I'm recording, I have no choice in the matter. If I try to lock him out of my office he howls until I let him in 😂

  • @xdmemeguy
    @xdmemeguy 4 місяці тому +2

    I love how calmly you explain things.

  • @aaravgavshinde1296
    @aaravgavshinde1296 Місяць тому

    Took a little too much brain cells to understand, but got it watching twice! Nice video, thanks a lot!

  • @snorklTV
    @snorklTV 4 місяці тому +13

    wow. fantastic job on the video! editing is crazy good. can't even imagine how long it took to put it all together and have it flow so well.

    • @cassieevans604
      @cassieevans604 4 місяці тому

      Means a lot Carl, thanks. I STILL messed up with an audio overlap at 7:40. I'm getting better though, it's a whole skill in itself, I have so much more respect for video creators now. Time consuming stuff. 😂

    • @digitalsahara6670
      @digitalsahara6670 4 місяці тому +1

      will you be working on some react content in the future?

    • @luisvisintini833
      @luisvisintini833 4 місяці тому

      will you be working on some react content in the future?

    • @snorklTV
      @snorklTV 4 місяці тому +3

      Thanks for your interest in my GSAP training. No immediate plans for React at this time. The GSAP team has really great resources to get you going.

    • @luisvisintini833
      @luisvisintini833 4 місяці тому

      @@snorklTV Thank you for the answer! I have your course! And it's extremely great! Do you know any gsap course with react?

  • @44turtlepower
    @44turtlepower 4 місяці тому +1

    Amazing developments! Nice work, and thank you!

  • @joshreynolds4164
    @joshreynolds4164 4 місяці тому

    Wow what an excellent demo of this. Thanks!

  • @Dan21789
    @Dan21789 4 місяці тому

    Incredible! What a great explainer video. I’m excited to try this out!

  • @radezzientertainment501
    @radezzientertainment501 2 місяці тому

    this was a tremendous walkthrough, thank u!!

  • @user-kf1gz7xg1c
    @user-kf1gz7xg1c 4 місяці тому

    I must learn gsap after this video, and ofc try this hook. Nice job 👏

  • @marianop8882
    @marianop8882 4 місяці тому +1

    This us pure gold! Thank you, Cassie

  • @hayesmaker64
    @hayesmaker64 21 день тому

    "drowining in a sea of refs.." - yep, I know that feeling!

  • @justinoconnell7307
    @justinoconnell7307 4 місяці тому

    This was a great video, I’ll be testing it out

  • @joshuayullu
    @joshuayullu 2 місяці тому +1

    had me at "awkwardly named bit of nonsense"😂

  • @tirthgajjar797
    @tirthgajjar797 4 місяці тому

    Very imortant update, great video.

  • @nikhilpsathyanathan
    @nikhilpsathyanathan 4 місяці тому

    it simplify a lot and nice presentation

  • @kkr9925
    @kkr9925 2 місяці тому

    Great presentation.

  • @kevinat71
    @kevinat71 4 місяці тому

    More tutorial with useGSAP please! .... Thanks a lot for this, fantastic job ❤

  • @shehzadasif7177
    @shehzadasif7177 4 місяці тому

    It might be a problem solving hook for cleanup issues. Great work

  • @ziadxcode
    @ziadxcode 4 місяці тому

    Great work!

  • @mikoajszczepkowski4513
    @mikoajszczepkowski4513 4 місяці тому

    Finally! GSAP rocks

  • @gorki90
    @gorki90 4 місяці тому +8

    Great and easily understandable presentation. Also, the video editing is top notch! I'm impressed!

    • @gorki90
      @gorki90 4 місяці тому

      Except a little bug at 7:41 :P

    • @cassieevans604
      @cassieevans604 4 місяці тому

      argh. There's always one 🫠 @@gorki90

  • @BooksWeCanRead
    @BooksWeCanRead 4 місяці тому

    Oooh niiice!! ❤❤ praise be!! 🙌🙌

  • @sjorsroelofs
    @sjorsroelofs 4 місяці тому +1

    Awesome hook! Your presentations are always very good👍🏻

  • @criticalcritics6531
    @criticalcritics6531 4 місяці тому

    You're so good!

  • @snatvb
    @snatvb 4 місяці тому

    wow, nice work)

  • @irfansaeedkhan7242
    @irfansaeedkhan7242 4 місяці тому

    wow very much needed

  • @saeedakhshijan8159
    @saeedakhshijan8159 4 місяці тому

    GSAP is lovely ❤

  • @shervangh9660
    @shervangh9660 3 місяці тому

    tnx for your content

  • @franklinaldo4566
    @franklinaldo4566 4 місяці тому

    Love it!

  • @Seacrest.
    @Seacrest. 4 місяці тому

    nice! thanks!

  • @otfnk
    @otfnk 4 місяці тому +2

    Awesome tutorial. I will be improving readability and clean code with this hook. I am feeling lucky to see this video. 🎉❤

  • @user-ok9zi7tr2l
    @user-ok9zi7tr2l 4 місяці тому

    it's amazing

  • @jeresalem
    @jeresalem 4 місяці тому

    Absolutely awesome. Thank you for making this!

  • @TaimoorShahzada
    @TaimoorShahzada 4 місяці тому

    🙏 Thanks for that

  • @gerguno
    @gerguno 4 місяці тому

    Nice and smart girl!

  • @niharmondol1415
    @niharmondol1415 4 місяці тому

    It’s a great video mam ❤
    Provide some use cases scroll trigger animation using react and gsap.
    Again thank you 🙏

  • @miGuHD
    @miGuHD 4 місяці тому

    A little audio overlap happening around 7:40 but pretty stocked about the React love you're sending us lately, thanks!

    • @GreenSockLearning
      @GreenSockLearning  4 місяці тому +1

      It's a shame youtube doesn't allow re-uploads, but thanks for the spot.

  • @A...A..A
    @A...A..A 4 місяці тому +1

    Can we use it for react native expo or any advice except animated for expo?

  • @mentasuavesuave01
    @mentasuavesuave01 4 місяці тому

    I'm here since I know you from a podcast and I want to know where I can practice GSAP if I want to become better, is there a page with exercises somewhere? I'm the one who learn by doing

  • @ayushgogna9732
    @ayushgogna9732 4 місяці тому

    finally waited for this for so long

  • @cafelutsa_
    @cafelutsa_ 4 місяці тому

    awesome

  • @kenshinhimura3140
    @kenshinhimura3140 4 місяці тому

    Thank you my poussy

  • @zubayerhossain7074
    @zubayerhossain7074 4 місяці тому

    Nice work! appreciate your kindness for publishing it free!

  • @asifiweebenezer3166
    @asifiweebenezer3166 4 місяці тому

    I am going to Use GSAP in my Gatsby project. It's the first time I'm using GSAP and Gatsby. I really need this. Thanks

  • @michaelmiranda3220
    @michaelmiranda3220 18 днів тому

    Hi, How do I properly use matchMedia inside the hook?

  • @stylrart
    @stylrart 13 днів тому

    smart dev

  • @Trazynn
    @Trazynn 4 місяці тому +4

    (I bet this comment will hit the spam filter because I mention Discord but i'll try it anway). In the Framer discord there's frequent questions on how to implement GSAP animations into Framer websites. Some short video showcasing how to do that would be quite valuable.

    • @GreenSockLearning
      @GreenSockLearning  4 місяці тому

      Thanks for the feedback - We're not really familiar with framer's GUI, but GSAP is just JS and can be added wherever you can add custom code.

  • @animatronioboss
    @animatronioboss 4 місяці тому

    for vue.js do u planning something like this?

  • @Michael-Martell
    @Michael-Martell 3 місяці тому

    Btw, your stackblitz example for your Next13 Page transitions is not currently working… it’s failing at the start command.

  • @mendaxassange4465
    @mendaxassange4465 2 місяці тому

    can anyone point out to me how I can animate during unmount and mount using gsap. like modal view and exit.

  • @absartb7789
    @absartb7789 4 місяці тому +1

    Thanks for the hook!, but what if i need to use matchMedia that already has context within it?

    • @GreenSockLearning
      @GreenSockLearning  4 місяці тому +1

      Hey there! Good question, you can use matchMedia inside useGSAP, useGSAP will revert the matchMedia context. codepen.io/GreenSock/pen/OJmQvLZ
      We'll add this to the docs!

  • @chrishare3273
    @chrishare3273 4 місяці тому

    yay!

  • @giorgosphilippou81
    @giorgosphilippou81 4 місяці тому

    Is this working for React Native too?

  • @SwOOp_de
    @SwOOp_de 3 місяці тому

    😍Cassie

  • @natnaelt1744
    @natnaelt1744 4 місяці тому

    Nice will add this to my bag, what breed of dog is that btw😅 so cute

    • @GreenSockLearning
      @GreenSockLearning  4 місяці тому

      He's a rescue street dog so we don't know what sort. He's a good boy though. 🐕

  • @user-rz1fg4fe1e
    @user-rz1fg4fe1e 4 місяці тому +1

    чудесная девушка, еще и умная)

  • @tom7050
    @tom7050 3 місяці тому

    O M G

  • @marcusdillgen
    @marcusdillgen 4 місяці тому

    Nice, that came at the right time!!! I also have to praise Cassie's videos. They are always some of the best learning material you can find.

    • @cassieevans604
      @cassieevans604 4 місяці тому

      I love to hear this 💚 Always trying to get better at it!

  • @ashifuddin_ahmed17
    @ashifuddin_ahmed17 Місяць тому +1

    0:07
    React is a Library, not a framework...☺

  • @sarahlauren4834
    @sarahlauren4834 4 місяці тому

    Wooow ! Is that the Pixel Spirit Deck in the background ? ( Maybe I should use it after all this time ) ;) Otherwise, great video, I'm going to check out this new hook ! Thanks. ☀

  • @mazwrld
    @mazwrld 4 місяці тому

    ❤❤❤❤

  • @kamalkhatri-pi8su
    @kamalkhatri-pi8su 4 місяці тому

    can you make something for angular. I love to work with gsap in angular framework.

    • @GreenSockLearning
      @GreenSockLearning  4 місяці тому +1

      Have you used GSAP in angular? Did you have any specific friction points?

    • @kamalkhatri-pi8su
      @kamalkhatri-pi8su 3 місяці тому

      @@GreenSockLearning I have used but I just want to tell you everyone does not use react. So pls make angular specific video also.it will help angular develpers. Thanks

  • @madebyjonny7637
    @madebyjonny7637 4 місяці тому

    like for the dog, great video though 😅

  • @kabeerfcc4153
    @kabeerfcc4153 4 місяці тому

    Hy , mam please recommend me easy book for learning react js . With easy words of English

  • @angry_moose94
    @angry_moose94 4 місяці тому

    Hey nice library but it just seems like it’s a lot of work for animations that you can probably do with css. I mean even librairies like framer motion are probably gonna turn obsolete when the browsers can do it by themselves. Animations are nice but sometimes simplicity is better.

    • @cassieevans604
      @cassieevans604 4 місяці тому

      Not really accurate. The animations shown here were deliberately simple for demo purposes. But GSAP allows for a huge amount that just isn't possible using CSS or framer motion.

    • @shableep
      @shableep 4 місяці тому

      GSAP provides a lot more control over your animations, especially nested animations that are also dependent on the change of values. If you're doing simpler animations, CSS is the way to go for sure. But GSAP is great for much more complex stuff when you need it.

  • @karansagar7870
    @karansagar7870 4 місяці тому

    looks worth giving a try , also will be spamming here if things break.

  • @olatunjiolakunle6908
    @olatunjiolakunle6908 4 місяці тому

    Is something like this available in Vue ?

    • @GreenSockLearning
      @GreenSockLearning  4 місяці тому

      At the moment we advise using gsap.context() for vue - (which is what this hook uses under the hood) examples here -
      gsap.com/resources/frameworks/

    • @olatunjiolakunle6908
      @olatunjiolakunle6908 4 місяці тому

      @@GreenSockLearning thank you.

  • @lasindunuwanga5292
    @lasindunuwanga5292 4 місяці тому

    Me: I like that accent. I wonder where it comes from
    Also me: React is now a framework
    Some random guy: Don't take everything literally

  • @ndukachukz8067
    @ndukachukz8067 4 місяці тому

    What is she smiling at❤😂🌹

  • @Osuran_Bogaa
    @Osuran_Bogaa 4 місяці тому

    can i use gsap in react native ?

    • @JackDoyleGS
      @JackDoyleGS 4 місяці тому

      Sure, I don't see why not. GSAP can animate anything that JavaScript can touch. I have zero experience with React Native personally, but I can't imagine why there'd be a problem.

    • @veedjohnson
      @veedjohnson 4 місяці тому

      @@JackDoyleGSthere will be a problem because GSap animates html elements.
      How is that going to work with native?

    • @JackDoyleGS
      @JackDoyleGS 4 місяці тому

      @@veedjohnson GSAP can animate literally anything that JavaScript can touch - not just DOM elements.

    • @veedjohnson
      @veedjohnson 4 місяці тому

      @@JackDoyleGS might give it a shot can you explain how it will work with the class name references used in the video? Given that react native does not use classes for it's elements

    • @JackDoyleGS
      @JackDoyleGS 4 місяці тому

      @@veedjohnson I have no knowledge of React Native, sorry. But you can target literally any object that JavaScript can touch, even a generic object like {x: 100}. If you're not dealing with DOM elements, then you wouldn't use selector text for your target - you'd reference the objects themselves whose properties you're animating.

  • @user-sg4dx3nj2f
    @user-sg4dx3nj2f 3 місяці тому

    please provide documentation available for French speakers

    • @GreenSockLearning
      @GreenSockLearning  3 місяці тому +1

      I'm afraid we only have english docs. Our company is small (three people) and we don't speak french. I'd suggest using a translation extension, www.deepl.com/en/chrome-extension
      If you get stuck we can try and help you in the forums. Sorry we can't help more here.

    • @user-sg4dx3nj2f
      @user-sg4dx3nj2f 3 місяці тому

      @@GreenSockLearning ok okay, good job to you anyway, I use gsap in all my projects and I am satisfied with the results and the performance that gsap brings ❤ I hope that there will be a French version of the documentation one day 😊

  • @user-up6kr3px3f
    @user-up6kr3px3f 4 місяці тому

    Hello Beauty )

  • @linorabolini
    @linorabolini 4 місяці тому +26

    Its so sad that React is so toxic at this point that we need adapters for everything. React is ruining what programming means and its ruining developers overall. Get out of react, try solidJS and be free.
    edit: I recommend SolidJS here because it is almost 1:1 to react, but without many of the bad parts of React.

    • @adeleke5140
      @adeleke5140 4 місяці тому +3

      Could you explain what you mean by toxic?

    • @linorabolini
      @linorabolini 4 місяці тому +1

      @@adeleke5140 yes ! what I mean by toxic is that React as a library is contaminating everything what was built up to now. If you want to use a 3rd party code, you need to "Reactify" it.
      The community is great, don't take me wrong, but it has gone too far to my taste. Really simple things became difficult, and the quality of our apps has been getting directly affected by it. The need of a special hook to make greensock would be an example. State management in react is another jungle we could talk about, a new library comes out every week.
      Hope this helps clarify my opinion :)

    • @gcash49
      @gcash49 4 місяці тому +11

      skill issue

    • @JEsterCW
      @JEsterCW 4 місяці тому +4

      @@linorabolini lol, from the way how react works its a framework, not library. I would rather pick vue/angular/svelte than solid. Hooks are just wrappers or additional abstraction(function) to make us more productive or comfortable (DX). State management in react is really fine since its hella open. The real problem is using old problematic ass tech like redux, mui or other piece of sheet instead of zustand,ss or just loaders per route. The quality of our app depends on ourselves(always) cuz of architecture and code quality, tool is only a tool it doesnt makes mess for no reason and if do youre using a wrong tool or u hit its limits.

    • @linorabolini
      @linorabolini 4 місяці тому

      @@gcash49 no, is not that. i have been working with react for the last 7 years. Or more actually. I thought it was the way to go, but i realized how much damage it made recently

  • @wchorski
    @wchorski 4 місяці тому

    if you're getting a "Cannot use import statement outside a module" on plugin imports, try this
    import { Draggable } from "gsap/dist/Draggable";

  • @Michael-Martell
    @Michael-Martell 4 місяці тому

    Hey, I'm looking for the GSAP discord server. Could you send an invite so that I may join if it exists?

    • @GreenSockLearning
      @GreenSockLearning  4 місяці тому +1

      Hey there! We're considering setting up a discord for club members but it doesn't exist yet. This is a nice animation discord that we have a channel in though - discord.gg/uyVxpuwc8f

    • @Michael-Martell
      @Michael-Martell 4 місяці тому

      @@GreenSockLearning That would be awesome if and when you do! Thanks for that invite!