Reactiive
Reactiive
  • Видео 43
  • Просмотров 824 459
Animated Blur Cards with React Native (Skia)
Building custom lists is always fun. In this tutorial, we'll discover how to achieve a Story List UI animation by using just React Native Reanimated.
My React Native course: reanimate.dev
Support me on Patreon: patreon.com/reactiive
Twitter: reactiive_
Recommended tutorials before this one:
- Custom Animated Loader with Skia: ruclips.net/video/7pCiGUrJuow/видео.html
- Exploring Interpolate: ruclips.net/video/8_hvNoZJsc8/видео.html
Source code: github.com/enzomanuelmangano/exploring-skia/tree/main/blur-cards
Chapters:
00:00 Introduction
00:46 The background RadialGradient
05:38 Here's the plan
06:55 Handling the initial state
09:35 The 3D state (end state)
15:58 The Blur effect
20:5...
Просмотров: 2 410

Видео

Animated Loader with React Native (Skia)
Просмотров 2,5 тыс.Месяц назад
Creating animated custom loaders seems like a simple task. However, this little tiny component can be really tricky if you don't know which tools to use. In this tutorial, we'll solve this problem using both Reanimated and React Native Skia. As always, we'll start with an empty Expo project :) My React Native animations course: reanimate.dev Patreon: patreon.com/reactiive Twitter: r...
Animated Bar Chart with React Native (Reanimated)
Просмотров 2,6 тыс.2 месяца назад
Have you ever felt the need to keep track of the pages you view on an Onboarding? Here it comes in handy to know how to make a custom pager from scratch. In this tutorial, we'll do exactly that by using Reanimated. My React Native course: reanimate.dev Support me on Patreon: patreon.com/reactiive Twitter: reactiive_ Animate with Reanimated Playlist: ruclips.net/video/yz9E10Dq8Bg/вид...
Pager Dots Animation with React Native (Reanimated)
Просмотров 3 тыс.2 месяца назад
Have you ever felt the need to keep track of the pages you view on an Onboarding? Here it comes in handy to know how to make a custom pager from scratch. In this tutorial, we'll do exactly that by using Reanimated. My React Native course: www.reanimate.dev Support me on Patreon: patreon.com/reactiive Twitter: reactiive_ Animate with Reanimated Playlist: ruclips.net/video/yz9E10Dq8Bg...
Building a Story List UI with Reanimated (React Native)
Просмотров 6 тыс.3 месяца назад
Building custom lists is always fun. In this tutorial, we'll discover how to achieve a Story List UI animation by using just React Native Reanimated. My React Native course: www.reanimate.dev Support me on Patreon: patreon.com/reactiive Twitter: reactiive_ Recommended tutorials before this one: - Exploring Interpolate: ruclips.net/video/8_hvNoZJsc8/видео.html - Advanced Onboarding: ...
The secret behind Jotai and MMKV (React Native)
Просмотров 3,9 тыс.3 месяца назад
In this tutorial, we'll learn how to solve two very common problems when creating React Native apps: 1. State Management - Jotai 2. Data Persistence - React Native MMKV In detail, we're going to combine these two packages together and use the atomWithMMKV. Checkbox Interactions Tutorial: ruclips.net/video/NPq_MFLnQrQ/видео.html My React Native animations course: www.reanimate.dev Support me on ...
Checkbox Interactions - The beauty of Layout Transitions (React Native Reanimated)
Просмотров 3,6 тыс.3 месяца назад
This tutorial unveils the simplicity and ease of using the Layout Transitions from Reanimated. In detail, as always, we're going to recreate this Checkbox Interactions demo from scratch starting with a lovely blank expo project. Do you like React Native animations? My React Native animations course: www.reanimate.dev Patreon: patreon.com/reactiive Twitter: reactiive_ Source code: gi...
Animated Stacked Cards - Exploring the interpolate function (React Native Reanimated)
Просмотров 4,5 тыс.3 месяца назад
In this tutorial, we're going to create from scratch a very simple yet powerful animation about Animated Stacked Cards. It will also be a perfect opportunity to dive deep into using the interpolate function from Reanimated. Do you like React Native animations? My React Native animations course: www.reanimate.dev Patreon: patreon.com/reactiive Twitter: reactiive_ Source code: github....
Animated Split Button in React Native (Reanimated)
Просмотров 4,9 тыс.4 месяца назад
This tutorial is about recreating a beautiful Split Button animation with Reanimated. Although the animation seems simple enough, it actually hides so many pitfalls. In this video, we are going to disassemble the animation piece by piece and gradually rebuild it from scratch. Do you like React Native animations? My React Native animations course: www.reanimate.dev Patreon: patreon.com/reactiive...
Announcing my React Native animations course: Reanimate.dev
Просмотров 2,1 тыс.5 месяцев назад
Yes, I know. It took me a while but I finally managed to prepare my animation course in React Native. You can access the course here: reanimate.dev/ Twitter announcement: reactiive_/status/1795080337522888858
Shake Animation in React Native (Reanimated)
Просмотров 6 тыс.7 месяцев назад
This tutorial is about a Shake animation made with Reanimated. Building it will be extremely helpful also from a didactic perspective because we're going to discover one by one, the most interesting high-order functions from Reanimated, such as: withTiming, withSequence, withRepeat, and withSpring. My React Native animations course: www.reanimate.dev Do you like React Native animations? Support...
Improving Tap Gestures in React Native
Просмотров 4,4 тыс.9 месяцев назад
Today we're going to unleash the power of Tap Gestures in React Native with Gesture Handler 👌 Checkout my React Native animations course: www.reanimate.dev Don't forget to leave a ⭐ Source code: github.com/enzomanuelmangano/what-about-gestures/tree/main/04-improve-tap-gestures Patreon: patreon.com/reactiive Twitter: reactiive_ Website: www.reactiive.io Chapters: 00:00 Introduction 0...
Custom Segmented Control in React Native (Reanimated)
Просмотров 9 тыс.10 месяцев назад
What's going on mobile devs? Today we're going to create together this awesome custom Segmented Control, deeply inspired by Steddy. Check out my React Native animations course: www.reanimate.dev Learn more about React Native: www.reactiive.io Support me on Patreon (you'll find a lot of extra animations): www.patreon.com/reactiive Follow me on Twitter: reactiive_ Checkout Steddy here...
Skeleton Animation in React Native with Moti
Просмотров 16 тыс.Год назад
Today, we're going to explore the potential of Moti by using the Skeleton component. The purpose of this tutorial is to cover the implementation of the Skeleton UX Pattern in React Native. You're going to learn how to create your own skeletons and how to reuse them across your apps! My React Native animations course: www.reanimate.dev Patreon: patreon.com/reactiive Twitter: reactiiv...
Animated Gradient in React Native (Skia)
Просмотров 9 тыс.Год назад
Today we are going to make a simple and powerful Linear Gradient animation by using the combination of React Native Skia and Reanimated. I think that this animation is a perfect example of how using the right tool greatly simplifies the work. My React Native animations course: www.reanimate.dev Do you like React Native animations? Support me on Patreon: patreon.com/reactiive Twitter: twitter.co...
Circular Carousel Animation in React Native (Reanimated)
Просмотров 12 тыс.Год назад
Circular Carousel Animation in React Native (Reanimated)
Dropdown Menu Animation in React Native (Reanimated 3)
Просмотров 12 тыс.Год назад
Dropdown Menu Animation in React Native (Reanimated 3)
Metaball Animation in React Native (Skia)
Просмотров 8 тыс.Год назад
Metaball Animation in React Native (Skia)
Creating a BottomSheet Backdrop in React Native
Просмотров 13 тыс.Год назад
Creating a BottomSheet Backdrop in React Native
Animated FlatList in React Native (Reanimated)
Просмотров 33 тыс.2 года назад
Animated FlatList in React Native (Reanimated)
Grid Magnification in React Native (Skia)
Просмотров 9 тыс.2 года назад
Grid Magnification in React Native (Skia)
Animated 3D Card in React Native (Reanimated and Skia)
Просмотров 19 тыс.2 года назад
Animated 3D Card in React Native (Reanimated and Skia)
Building a BottomSheet from scratch in React Native
Просмотров 94 тыс.2 года назад
Building a BottomSheet from scratch in React Native
The Secret Ingredient: Haptic Feedback (React Native)
Просмотров 8 тыс.2 года назад
The Secret Ingredient: Haptic Feedback (React Native)
The magic of Layout Animations in Reanimated (React Native)
Просмотров 32 тыс.2 года назад
The magic of Layout Animations in Reanimated (React Native)
Introduction to Gesture Handler 2 (React Native)
Просмотров 19 тыс.2 года назад
Introduction to Gesture Handler 2 (React Native)
Clock Loader Animation in React Native (Reanimated 2)
Просмотров 10 тыс.2 года назад
Clock Loader Animation in React Native (Reanimated 2)
Sliding Counter Animation in React Native (Reanimated 2)
Просмотров 12 тыс.2 года назад
Sliding Counter Animation in React Native (Reanimated 2)
Perspective Menu Animation in React Native with Reanimated 2
Просмотров 12 тыс.2 года назад
Perspective Menu Animation in React Native with Reanimated 2
Introduction to Animated API (React Native)
Просмотров 28 тыс.2 года назад
Introduction to Animated API (React Native)

Комментарии

  • @khaledwagdy6679
    @khaledwagdy6679 20 часов назад

    This is by far the most interesting, the most explanatory, the most creative and the most step-by-step tutorial for bottom sheet I've came across. Thanks!

  • @CatalinMironDev
    @CatalinMironDev День назад

    At 11:50 you made a crucial mistake, this callback runs on JS Thread and you should be using the `useAnimatedScrollHandler` from React Native Reanimated to run it directly the UI Thread (aka native side) and change FlatList to be an Animated.FlatList and modify the shared value inside the callback and keep everything on the UI Thread. Most probably Android is screaming in performance regression now :)

    • @Reactiive
      @Reactiive День назад

      Hi Catalin, thanks a lot for pointing that out! Unfortunately while recording I missed that completely. In the latest videos fortunately I always used an Animated List with useScrollViewOffset or useAnimatedScrollHandler. I'll definitely fix the issue in the GitHub repo 🙌

  • @kamal9650-z1w
    @kamal9650-z1w 15 дней назад

    Hi please make tutorial for react native music app transition

  • @clashcon11
    @clashcon11 17 дней назад

    Do you have drag and drop item to react native flatlist?

  • @clashcon11
    @clashcon11 17 дней назад

    I guess, react-native-gesture-handler keep updating, the code is using deprecated one.

  • @webmobile21
    @webmobile21 25 дней назад

    It would be wonderful if implemented dot press functionilty to scroll its own screen, but amazing tutorial, thanks for sharing your wisdom with us

  • @DevJimin
    @DevJimin Месяц назад

    I doubt anybody can name a better tutorial for this.Thanks G.

  • @Cuwubiq
    @Cuwubiq Месяц назад

    0:24, i mean, bold claim. i have been able to make such thing with no js directly just html + css. maybe i just didn't quite get how you meant it but directly, just with modern css, this is totally possible

    • @Reactiive
      @Reactiive Месяц назад

      @@Cuwubiqof course it's possible on the web. But achieving this behavior on a native Android app with React Native can be quite challenging 👀

    • @Cuwubiq
      @Cuwubiq Месяц назад

      @@Reactiive yeah, thought you mean it some sort of that way, thanks for the explanation, wonderful work with the whole thing btw! shows how rnskia is so much more competent and robust. Incredible video, thanks for it!

  • @omerattias9003
    @omerattias9003 Месяц назад

    amazing content, thank you from israel ! i would love to learn more about skia! can we add a text and views inside the blur cards of react-native on top of canvas of skia?

    • @Reactiive
      @Reactiive 27 дней назад

      Thanks! Unfortunately we can't use react native components in a Skia Canvas but there are a lot of solutions (such as using Skia Text)

  • @_ParekhJeel
    @_ParekhJeel Месяц назад

    Great Work bro! 🎉 Amazing animation! 😃

  • @fabrizia5777
    @fabrizia5777 Месяц назад

    This is awesome 🎇

  • @jondoe79
    @jondoe79 Месяц назад

    Your tutorials are very practical for real world animations. Subtle small designs brings comfortable engagement.

    • @Reactiive
      @Reactiive Месяц назад

      Thanks for the feedback ❤

  • @Reactiive
    @Reactiive Месяц назад

    Hello there 👋 I hope you'll enjoy this tutorial 🎥 If you want to dive deeper into Skia, Reanimated, and Gesture Handler, this is the last month to enroll in my course: reanimate.dev/ Registration closes on November 8th and will reopen in 2025 👀

  • @TPFDaily
    @TPFDaily Месяц назад

    How to create a animated custom Drawer withe animated Bottom Tabs having same 4-5 items to toggle between. (My suggestion for new Video), because I loved loved your animation videos specially in TS.

  • @josefsantamaria
    @josefsantamaria Месяц назад

    Works like a charm! that you have the source code available in github aswell is awsome. Thx!

  • @chorazytorpeda16
    @chorazytorpeda16 Месяц назад

    Outdated, doesnt work with v3

    • @Reactiive
      @Reactiive Месяц назад

      @@chorazytorpeda16 I recently made a new video about Layout animations with v3 ruclips.net/video/NPq_MFLnQrQ/видео.htmlsi=fl1MNJvtAfKmCDgl Although you can still use this one and replace layout=Layout with layout=LinearTransition and it will work as well. Hopefully this is helpful

  • @ayberkceylan834
    @ayberkceylan834 Месяц назад

    There isn't much skia tutorials pls go on with them. Thanx👌

  • @mghendipato
    @mghendipato Месяц назад

    I was using React Native CLI and I faced some challanges with the Linear gradient. This should resolve the issue when using React Native CLI instead of Expo. Install react-native-linear-gradient: npm install react-native-linear-gradient Replace all instances of: import { LinearGradient } from 'expo-linear-gradient' with: import { LinearGradient } from 'react-native-linear-gradient' Files where the change is needed: node_modules/moti/src/skeleton/expo.tsx node_modules/moti/src/skeleton/skeleton.tsx node_modules/moti/src/skeleton/types.ts node_modules/moti/build/skeleton/expo.js

    • @Reactiive
      @Reactiive Месяц назад

      I appreciate your comment but you shouldn't update the node_modules since they get overwritten on each yarn/npm/bun install. To use Moti skeletons with react-native-linear-gradient I strongly recommend to follow moti's docs: moti.fyi/skeleton#option-2-react-native-linear-gradient

  • @RambleOnRose42
    @RambleOnRose42 Месяц назад

    holy crap THANK YOU SO MUCH for providing a written version of this tutorial. you have NO idea how incredibly helpful that is for those of us who are hard of hearing (and also, just, like, really really bad at youtube tutorials)!!!!

  • @Endrit719
    @Endrit719 Месяц назад

    it's crazy, I am new at react native but this Skia and Reanimated are revolutionary for react native animations otherwise it would be so hard to implement them and pretty sure not quite performant, it takes a lot of practice I guess to be good with these tools, thanks for this great tutorial

  • @clevertomatoelefebvre3072
    @clevertomatoelefebvre3072 Месяц назад

    Great video! Learning so much, every video!

    • @Reactiive
      @Reactiive Месяц назад

      Thanks a lot for the feedback!

  • @mahendra7310
    @mahendra7310 Месяц назад

    Sir kindly bring drawing, panting, animation etc complete skia playlist like you've made RN Reanimated.

    • @Reactiive
      @Reactiive Месяц назад

      Thanks for the feedback! I will 👀

  • @pierre-antoineduchateau923
    @pierre-antoineduchateau923 Месяц назад

    Great tutorial that combines skia and reanimated ! Thank you !

  • @JuriDiener
    @JuriDiener Месяц назад

    Why are you using by startAnimated useDerivedValue and not useSharedValue? What's the difference. And how to know when I should use useDerived or useShared?

    • @Reactiive
      @Reactiive Месяц назад

      That's a great question! I use 'useSharedValue' for independent shared values, such as progress. However, 'useDerivedValue' is better suited for values that depend on others. For example, since 'startAnimated' is dependent on 'progress', you're essentially 'deriving' it from the 'progress' value and applying additional computations. Hopefully this helps!

    • @juridiener5942
      @juridiener5942 Месяц назад

      ​@@ReactiiveYes. Thanks. So when I got it right. When Values depending on something then useDerived is the choice. And in all other cases useShared

  • @HaiderAli-oi5fm
    @HaiderAli-oi5fm Месяц назад

    @4:50 what extension are you using for code suggestions like that.

    • @Reactiive
      @Reactiive Месяц назад

      @@HaiderAli-oi5fm I'm using Cursor! It's a fork from vscode cursor.com

    • @AlbertoVasquez1
      @AlbertoVasquez1 Месяц назад

      he is using cursor ide

    • @HaiderAli-oi5fm
      @HaiderAli-oi5fm Месяц назад

      @@AlbertoVasquez1 Thanks

  • @ravindusha
    @ravindusha Месяц назад

    Great tutorial. Never tried Skia. This makes me want to try it

    • @Reactiive
      @Reactiive Месяц назад

      @@ravindusha thanks! I made this tutorial because I think it's a great way to get used to Skia 👀

  • @wisdomelue
    @wisdomelue Месяц назад

    vscode theme please?

    • @Reactiive
      @Reactiive Месяц назад

      @@wisdomelue Tokyo Night

  • @anders-alfjesus
    @anders-alfjesus Месяц назад

    Very good tutorial 👏

    • @Reactiive
      @Reactiive Месяц назад

      Thank you, really appreciated!

  • @Reactiive
    @Reactiive Месяц назад

    Hello there 👋 I hope you'll enjoy this tutorial 🎥 If you want to dive deeper into Skia, Reanimated & Gesture Handler, check out my course with step-by-step tutorials starting from scratch reanimate.dev

  • @hubesh716
    @hubesh716 Месяц назад

    is this optimize or not?

    • @Reactiive
      @Reactiive Месяц назад

      What do you mean by optimize?

    • @hubesh716
      @hubesh716 Месяц назад

      @@Reactiive sir means is it lag or not when we use it in production ready React Native apps and i have one request plz make more video on Animated bottom tabs animation with skia or svgs thanks

    • @Reactiive
      @Reactiive Месяц назад

      @@hubesh716 of course it won't lagg but this always depends on how many tasks are active in the background 🫠. Also thanks for your feedback and your idea - I'll plan something about a custom bottom tab bar

  • @wajidali3107
    @wajidali3107 Месяц назад

    please add gesture swap to this button

  • @oneahamd
    @oneahamd Месяц назад

    مبدع

  • @fabrizia5777
    @fabrizia5777 Месяц назад

    🔝🔝🔝 best out there

  • @abnerlima5697
    @abnerlima5697 Месяц назад

    Thanks!

  • @michelgerges2678
    @michelgerges2678 2 месяца назад

    Damn another day another great tutorial thanks I just have one question would it make any difference to pass paingEnabled instead of snapToAlignment and deceleration rate?

    • @gkanaan321
      @gkanaan321 2 месяца назад

      Same result

    • @Reactiive
      @Reactiive 2 месяца назад

      Hi Michel, in this specific use case it doesn't really matter 😁 However I like to use the decelerationRate because it's very easy to customize it (you don't have to pass a string i.e. "fast" but you can pass a number as well)

    • @michelgerges2678
      @michelgerges2678 2 месяца назад

      @@Reactiive Thanks 🫡

  • @codeAbinash
    @codeAbinash 2 месяца назад

    😮🤯

  • @monarchgam3r
    @monarchgam3r 2 месяца назад

    Awesome. But I’m curious, what does border curve do???

    • @Reactiive
      @Reactiive 2 месяца назад

      It handles corners smoothing (only iOS). Here you can check the difference between the default (circular) and continuous 😅 github.com/nativewind/nativewind/pull/904

  • @saqibmuhammad7218
    @saqibmuhammad7218 2 месяца назад

    Your work is amazing and love it

    • @Reactiive
      @Reactiive 2 месяца назад

      Super appreciated! Thank you 🎉

  • @khalidkhan5308
    @khalidkhan5308 2 месяца назад

    amazing as always

  • @hubesh716
    @hubesh716 2 месяца назад

    Brother i am waiting for more with Skia plz

    • @Reactiive
      @Reactiive 2 месяца назад

      @@hubesh716 I'm definitely planning Skia tutorials, i just need more time 😁

  • @sage_iche
    @sage_iche 2 месяца назад

    Thank you Enzo.

  • @michelmbili
    @michelmbili 2 месяца назад

    Goddamn man, the designer on an app i'm building have done this and I was wondering how I can do it. THANKS A LOT

    • @Reactiive
      @Reactiive 2 месяца назад

      @@michelmbili Glad to hear that 😁😁

  • @Norfeldt
    @Norfeldt 2 месяца назад

    Does passing a UI thread shared value via props move som load to the JS thread or is it just passed as a reference?

    • @Reactiive
      @Reactiive 2 месяца назад

      @@Norfeldt luckily it's passed as a reference 😎

  • @fabrizia5777
    @fabrizia5777 2 месяца назад

    Very useful 🔝 thank youuu

  • @ShubhiSrivastava-w5r
    @ShubhiSrivastava-w5r 2 месяца назад

    Beautifully explained

  • @design-0000
    @design-0000 2 месяца назад

    wow, really good work!

  •  2 месяца назад

    Great tutorials what would happen if create multiple instances of this BottomSheep components , i mean use it in varios page inside the app, it creates multiples instances or just one with different content inside?

    • @Reactiive
      @Reactiive 2 месяца назад

      That's a great question! This implementation will create multiple instances but you can easily overcome this problem by moving this component into a Custom Provider and managing it via Context APIs

    • @jhmesseroux
      @jhmesseroux 2 месяца назад

      @@Reactiiveyou’re right . Thanks for tour time 🤙🏼

  • @fabrizia5777
    @fabrizia5777 2 месяца назад

    Nice tutorial. Keep it up💯

  • @MATHEUSLUIZOLIVEIRADECAMARGO
    @MATHEUSLUIZOLIVEIRADECAMARGO 2 месяца назад

    import { StatusBar } from "expo-status-bar"; import { FlatList, StyleSheet, Text, View } from "react-native"; import CompListItem from "./components/CompListItems"; import { useSharedValue } from "react-native-reanimated"; const data = new Array(50).fill(0).map((_, index) => ({ id: index })); export default function App() { const viewableItems = useSharedValue([]); return ( <View style={styles.container}> <FlatList data={data} contentContainerStyle={{ paddingTop: 40 }} onViewableItemsChanged={({ viewableItems: vItems }) => { viewableItems.value = vItems; }} renderItem={({ item }) => { return <CompListItem item={item} viewableItems={viewableItems} />; }} /> </View> ); } const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: "#fff", }, }); import { useEffect } from "react"; import { View } from "react-native"; import Animated, { useAnimatedStyle, withTiming, } from "react-native-reanimated"; export default function CompListItem({ item, viewableItems }) { const rStyle = useAnimatedStyle(() => { const isVisible = Boolean( viewableItems.value .filter((viewableItem) => viewableItem.isViewable) .find((viewableItem) => viewableItem.item.id === item.id) ); return { opacity: withTiming(isVisible ? 1 : 0), transform: [ { scale: withTiming(isVisible ? 1 : 0.6), }, ], }; }, []); // Use useEffect to ensure the component reacts to changes in viewableItems useEffect(() => { rStyle; // Trigger a re-render when viewableItems changes }, [viewableItems.value]); return ( <Animated.View style={[ { height: 80, width: "90%", backgroundColor: "red", marginTop: 15, borderRadius: 15, alignSelf: "center", }, rStyle, ]} ></Animated.View> ); } I had a problem with isViewable, I solved it this way.

  • @aboubakrsenouci1073
    @aboubakrsenouci1073 2 месяца назад

    Great Work , thank you 😍