Airbnb Shared Transition - “Can it be done in React Native?”

Поделиться
HTML-код
  • Опубликовано: 18 янв 2025

Комментарии • 108

  • @ijzerenhein
    @ijzerenhein 4 года назад +31

    Great video Will!
    And yes, needs to be nested directly inside . This way the native layer can access the underlying image source and perform perfect reveal animations

    • @wcandillon
      @wcandillon  4 года назад +7

      Thanks for building both an amazing API and implementation.

  • @prosoftwebindia
    @prosoftwebindia 4 года назад +6

    You are god of ReactNative animation.... love it......

    • @wcandillon
      @wcandillon  4 года назад

      Thanks for your support :)

  • @AnhDauhp
    @AnhDauhp 4 года назад +5

    Just leaving a comment here that you've been a great inspiration

    • @wcandillon
      @wcandillon  4 года назад

      Thank you for your support 🙌🏻

  • @AlexanderKuttig
    @AlexanderKuttig 4 года назад +1

    Great Video!
    Very helpful! Thanks a lot!

  • @karolisarbaciauskas
    @karolisarbaciauskas 4 года назад +10

    Why does close (go back) button appears after delay?
    Will Shared Element work with nested navigations?

  • @jackjsy
    @jackjsy 4 года назад +2

    THIS IS CRAZY GOOD, thankyou!

    • @wcandillon
      @wcandillon  4 года назад

      Thanks Jack. Any episode request for me?

  • @toel_
    @toel_ 4 года назад +1

    Thank you William. I was hoping you'd do something around Airbnb

    • @wcandillon
      @wcandillon  4 года назад

      Thanks Apiut! Do you have any episode request for me?

  • @darryl_young
    @darryl_young 4 года назад +1

    This is awesome. Thanks for sharing, William. Typically, just today I finished updating my app to React Navigation 5 and, excited after seeing this video, just saw that the package doesn’t yet work with React Navigation 5. Haha. Oh well. Hopefully they’ll update soon. Thanks again. Subscribed.

    • @wcandillon
      @wcandillon  4 года назад

      Yes, you can do your own v5 integration for fun but you will see that it's actually a lot of work 😅

  • @casos92
    @casos92 4 года назад +2

    This is awesome. Is it possible to then have a scrollable view in the fullscreen view? In the demo when you try to scroll it snaps back to the card view.

  • @habitathomies6049
    @habitathomies6049 4 года назад +2

    how would binding to navigation work if I am using NavigationService?

  • @badreddinlabed530
    @badreddinlabed530 4 года назад +1

    Amazing content !!! What's the name of the theme u using ?

  • @NelsonPRSousa
    @NelsonPRSousa 4 года назад +1

    Hi William, great video.
    Can we have an updated version with react navigation v5? Looks like this one is v4 and I think there's a pre-release of shared elements already compatible with v5?
    Thank you so much

  • @guilhermematos7448
    @guilhermematos7448 4 года назад +3

    Awesome Will, you're the best!
    Question for Krzysztof Magiera: What is the future of react-native and animations after the bridge is gone?

    • @wcandillon
      @wcandillon  4 года назад +1

      great question! I wanna know too!

  • @OsamaQarem
    @OsamaQarem 4 года назад +5

    im watching this at work, while waiting for a few e2e tests to finish running 😂

    • @wcandillon
      @wcandillon  4 года назад

      That's the way to go, you are very disciplined Osama

    • @someonlinevideos
      @someonlinevideos 4 года назад

      Same but building some applications!

  • @samuelwillerval2984
    @samuelwillerval2984 4 года назад +3

    Great Great Work/Video William :-)! I've been working on something similar. I'd like to share my thoughts with you and others who may still be trying to implement this in their app:
    1. It's working with React Navigation v5 now.
    2. 'useValues' from R-N-Redash v14 docs needs an update for those who are using the latest version.
    3. Have you thought of making another continuation video to complete the Airbnb example (Replica)? If so, how would it be done using Reanimated 2?
    PS: Replica meaning: adding some sort of force when dragging (like it is the case in Interactabble), shadow and scale transitions for Explore screen, haptic feedback on snap points, also, if you pay close attention to the Airbnb example, the spot for the pressed Listing in Explore screen is empty..
    I'll appreciate your feedback

    • @NelsonPRSousa
      @NelsonPRSousa 4 года назад

      The code that William did here in the video works with React Navigation v5? Thank you

    • @samuelwillerval2984
      @samuelwillerval2984 4 года назад

      Nelson Sousa sure

    • @NelsonPRSousa
      @NelsonPRSousa 4 года назад

      @@samuelwillerval2984 Any idea if we can use with React Native CLI or just Expo?

    • @samuelwillerval2984
      @samuelwillerval2984 4 года назад +1

      @@NelsonPRSousa I actually don't use Expo at all so Yes.

    • @NelsonPRSousa
      @NelsonPRSousa 4 года назад

      @@samuelwillerval2984 Thank you :)

  • @RonnyZitsu
    @RonnyZitsu 16 дней назад

    Hey William, this is a great transition. Does it still work in React native 0.76? I had tried Shared Elements and it doesn't seem to work in 0.76.

  • @yuzhou9363
    @yuzhou9363 4 года назад

    amazing, thank you for your hard work and efforts

    • @wcandillon
      @wcandillon  4 года назад

      I'm having a blast doing it, thank you for your support!

  • @dodicandra4971
    @dodicandra4971 4 года назад +2

    Please make a tutorial eject expo bare workflow, I have trouble handling expo dependencies for android

  • @tayoschool6228
    @tayoschool6228 4 года назад +1

    Wow! Thank walliam, pleaae recode some lessons about react native back-end options , thank you again.

  • @rafaelpina4725
    @rafaelpina4725 4 года назад

    Nice! Looking forward to learn new stuff from you.

    • @wcandillon
      @wcandillon  4 года назад

      Yes cool to explore new libraries. Do you have an episode request for me?

  • @ibtihelelbache3633
    @ibtihelelbache3633 4 года назад +4

    I'm waiting

    • @wcandillon
      @wcandillon  4 года назад +2

      We're ready, let's do this 😎

  • @94play94
    @94play94 4 года назад +1

    Just thank you

    • @wcandillon
      @wcandillon  4 года назад +1

      Thank you for your support 🙌🏻

  • @ashbyrezvani
    @ashbyrezvani Год назад

    When we drag the airbnb Card around, the screen behind the card scales up and down. Is it possible to do that now?

  • @anibalasprilla85
    @anibalasprilla85 4 года назад +1

    Hi William, It's so great video... I'm new on this, so, why the files are *.ts and not *.js sorry, I'm lost.. :) from Panama!

  • @pcgs_
    @pcgs_ 4 года назад +1

    The animation master!!

    • @wcandillon
      @wcandillon  4 года назад +1

      Good to see you here Pedro 🙋🏼‍♂️It's a good one today ☺️

    • @pedpess
      @pedpess 4 года назад

      @@wcandillon Another Pedro here to learn a bit more :D

  • @guillaumeRean
    @guillaumeRean 4 года назад +1

    So great, i will stay focous on you ! (i love your accent, i'm french ;)

    • @wcandillon
      @wcandillon  4 года назад +1

      Thanks man! I'm getting really valuable pronunciation feedback from you guys (developers, focus, gradient) but sometimes I forget 😅

  • @floodyboy5307
    @floodyboy5307 4 года назад

    Perfect 👌 well done 👍🏼

    • @wcandillon
      @wcandillon  4 года назад

      Thks man! Not the last shared transition we'll do ;-)

  • @VADIM129
    @VADIM129 4 года назад

    Thank you William for the best lessons, please remind me what color theme do you use in VSCode?

  • @jeffsims8538
    @jeffsims8538 4 года назад

    Great video Will! Did you have to do anything to get this to work with react-navigation? I believe expo sdk36 has react-navigation 5 but the shared element library only works with v4 right now. Trying to implement this in my project and getting a regular react-navigation transition so wondering if I have a dependency that is off or something.

  • @danalexandru1151
    @danalexandru1151 4 года назад

    Well done William!
    In position 0 (full screen, before you drag down an start the animation) image can be dragged up (-y axis) which doesn't seem ok to me. Does anyone know how can I block it?

  • @nicobarbaros2327
    @nicobarbaros2327 4 года назад

    Hey William, what mike are you using to record?
    Thanks for the tutorial

    • @wcandillon
      @wcandillon  4 года назад

      Shure sm7b. I'm not making most of it yet unfortunately, my recording conditions are quite harsh (lots of background noise).

  • @gionale4034
    @gionale4034 4 года назад

    Thank you so much

    • @wcandillon
      @wcandillon  4 года назад

      Thank you for your support

  • @pankajmundra7814
    @pankajmundra7814 2 года назад

    Hey William, thanks for the great video...but do this work on Android too.?

  • @elchinobedregal
    @elchinobedregal 4 года назад +1

    My fav dev, love it

    • @wcandillon
      @wcandillon  4 года назад

      Woah thank you Patricio 🙌🏻

  • @marchabib8168
    @marchabib8168 Год назад

    Hello ! Thanks for this video !
    I managed to make it works on a simple screen, but applied to my context, this is not working. I have a ScrollView so there's a conflict between the swipe on scrollView and the pan responder? Can it be done in season 5 maybe ?

  • @collocheru
    @collocheru 4 года назад

    Hi William, I have a question. Will the animation work if the screen you are navigating to has to make an api call to fetch some data meaning it has states like loading while waiting for data. e.g I have to pass an id to a detail screen so that some information has to be fetched using that id before displaying the data. Will the shared element transition work in such a case? I am trying and can't seem to get it to work

  • @marchabib8168
    @marchabib8168 3 года назад

    Hello ! First thanks a lot for this !
    Is it working if we arrive on a screen that has a ScrollView ? How react make the difference between scrolling and the pan responder ?
    It will be great to have an exemple on season 5 maybe :)

  • @fransis4448
    @fransis4448 4 года назад

    Is it possibile to add a ScrollView inside the panGesture to scroll the content? How?

  • @floriandub7553
    @floriandub7553 4 года назад

    Hi William, great video as usual. I have a problem with this technique, if the whole content is a scrollview then swiping down is no longer working. Any clue on how to address that?
    Thank you and keep doing these videos

  • @technoinfoworldwide2329
    @technoinfoworldwide2329 4 года назад

    nice bro..make something like that,house rental app where house owner post the room (if he have empty room) with price and location and student or couple search the house.and also include the payment system by students to house owner directly through app .including backend work

  • @leonardovales7637
    @leonardovales7637 4 года назад

    Thank you. Are you using EXPO or CLI?

  • @kamildoan
    @kamildoan 4 года назад

    Awsome tutorial again.

  • @FelixPascal
    @FelixPascal 4 года назад +1

    Hello Mr William. I have been following your videos. You're awesome. I have implemented the same thing in React Native but I am also implementing it in Vue-Native. How do I implement this part: Listing.sharedElements = (navigation: ReturnType) => {
    const listing = navigation.getParam("listing");
    return [listing.id];
    }; in vue-native? Thanks.

    • @FelixPascal
      @FelixPascal 4 года назад

      I eventually have to do everything in React Native

  • @jonathan_machado
    @jonathan_machado 4 года назад

    Sorry, I have a problem with this example, I try to replicate but I have the same error, the error is when you touch an element then close it, being by the X or by means of a gesture, after touching the image, at some point the touch event has not been fire and never displays the detail page again, you need to tap again in this case is success,
    In the case if I comment on the effect of shared element the tap works correctly, can you help me with that? Thank you

  • @adarshpandya
    @adarshpandya 4 года назад

    Thank you for amazing content , love from india

    • @wcandillon
      @wcandillon  4 года назад

      Thank you for your support Adarsh 🙌🏻

  • @Sucltandukar
    @Sucltandukar 4 года назад

    Will it work with react-native-cached-image?

  • @asadsalehumar1011
    @asadsalehumar1011 4 года назад

    Should I use FlatList or just vanilla map when rendering list in React Native?

    • @wcandillon
      @wcandillon  4 года назад

      It depends I think, it's not my area of expertise unfortunately.

  • @mukeshkumarmishra4576
    @mukeshkumarmishra4576 4 года назад

    Hi, I am implementing Shared Element Transition using react-navigation-shared-element from Screen1 to Screen2 and from Screen2 to Screen3. When I go from Screen1 to Screen2 and come back from Screen2 to Screen1, Shared Element Transition works perfectly. When, I move from Screen2 to Screen3 then it also works but when I come back from Screen3 to Screen2 effect is not showing(transition is not happening). A help in this is really appreciated.

  • @joshhwb
    @joshhwb 4 года назад

    This is perfect!

    • @wcandillon
      @wcandillon  4 года назад

      Thanks Josh! Any episode request for me?

    • @joshhwb
      @joshhwb 4 года назад

      @@wcandillon new to the channel here, but once I've gone through the playlists i'll let you know. Thanks again for the brilliant content!

  • @ahmadmazaal4040
    @ahmadmazaal4040 4 года назад

    Getting this when importing createSharedElementStackNavigator from 'react-navigation-shared-element'
    undefined Unable to resolve module `react-native-shared-element` from `node_modules/react-navigation-shared-element/build/SharedElement.js`: react-native-shared-element could not be found within the project.
    Even though the package is installed, any suggestions please?

    • @wcandillon
      @wcandillon  4 года назад

      You can checkout the v5 version at ruclips.net/video/NJZfRXs7nZs/видео.html

    • @ahmadmazaal4040
      @ahmadmazaal4040 4 года назад

      Thanks@@wcandillon !,
      But unfortunately, I'm using react-navigation v4, any other suggestions please?

  • @knightr1der
    @knightr1der 4 года назад

    What's the theme name of vs code?

  • @pankajmundra7814
    @pankajmundra7814 2 года назад

    For me it's not working on iOS but working fine on Android, any idea.?

  • @dangduylinh9587
    @dangduylinh9587 4 года назад +1

    I love it

    • @wcandillon
      @wcandillon  4 года назад

      It's a great one :)

    • @dangduylinh9587
      @dangduylinh9587 4 года назад

      ​@@wcandillon Hi I think I should buy react-native-elements in your shop. So some animation on your youtube appear on your react-native-elements ? I love your Animation UI :)

  • @ArquimedesGuilandAcosta
    @ArquimedesGuilandAcosta 4 года назад +1

    Let's goooo

  • @michaelallen6635
    @michaelallen6635 4 года назад

    Is there not a way to do this from a Flatlist?

    • @wcandillon
      @wcandillon  4 года назад

      Should work fine in a flat list

  • @gerardogarcia-mn3pf
    @gerardogarcia-mn3pf 4 года назад

    actionhero w/ react native :)

  • @adityaow1xd
    @adityaow1xd 4 года назад

    Tu toh apna Johnny bhaiya lgta h 😂

  • @godwinebikwo6544
    @godwinebikwo6544 4 года назад

    Anyone wanna make the js version of this

  • @Frexuz
    @Frexuz 4 года назад

    The "modal backdrop" didn't animate ;)

  • @davidsaint8866
    @davidsaint8866 4 года назад

    Why does Reanimated confuse me soo much????

    • @jeffreyefemena1082
      @jeffreyefemena1082 4 года назад

      Yeah, maybe because it's declarative

    • @wcandillon
      @wcandillon  4 года назад +1

      It is indeed because it's another level of abstraction on top of JavaScript. I'll ask the question to Kryztof when he comes on but it is indeed a difficult library to grasp (for now)

  • @kamehameha22
    @kamehameha22 4 года назад

    why typescript instead of javascript?

  • @CasparRubin
    @CasparRubin 4 года назад

    you're insane...

  • @chespi44
    @chespi44 4 года назад

    crack