Alright so, I battled with my video editor for 2 days and still couldn't export the video to high-quality! That's all I can do this time. All will be back to normal starting from the next video :)
Thank you Rodrigo, really. Wow, I just have no words to answer to this, thank you. It's my pleasure to help with what I can. It means a lot to me that you take the time to share this with me (not sure I have seen you before :D). There's a lot more to come, always more to learn!
Wow, this means a lot to me, really! I felt this way at some point too, you know. I hope the videos are simple enough to follow, that's my number on concern with these. Thank you for saying how you feel in the comments, it's very important for me :)
Wow! That was a lot of content and knowledge. I finally, for the first time saw the use of a Shared Value other than Primitives. Also I didn't know about the reaction hook. Clamp function is much appreciated. Would definitely watch a couple time 😉. Waiting for the 2nd part! Great video as usual!
I was so concerned about making a video "that long", it sure was a lot in one video...! It was an interesting use case that really took advantage of different features, I'm glad you found it interesting too! "As usual", thank you for your support. Always good to have a quack quack from Apoorv :)
@@eveningkid Salut ;) Is it a reason to not use a Flatlist instead of Scrollview? Maybe it could be some issues due to Flatlist optimizations or with "scrollTo" Reanimated 2 method?
After some try, I maybe can answer to myself ^^ : one possible good reason to not use FlatList is about zIndex. Each FlatList item are wrapped in a parent Item. Because of that, the zIndex of absolute positionning items will not work. ScrollView seems to be a better way than FlatList when using position:absolute for each items.
For anyone with issues on android. Try removing the animation for the card to move to the current position. e.g. worked for me. Not quite as smooth but good enough if (Platform.OS === "ios") { top.value = withTiming(positionY - CARD_HEIGHT, { duration: 16, }); } else { top.value = positionY - CARD_HEIGHT / 2; }
@@eveningkid It's not late. It was just for more knowledge for me and others who need this content someday. It's very hard to find. I'll use it on my works. Thanks so much again, hope u understand my english haha
Well my guess is that you could make the button movable with a pan gesture handler, and modify the positions by adding a new id to the object as if it existed in the list. If you drop it, you then can update the list of items with a state. That’s just on top of my mind, but I guess that would work! Either way, thank you so much for commenting Nelson. It means a lot to me!! :)
Amazing stuff man! Really enjoying the content 🔥 What are you using to edit your videos and how do you get such clean animations? They're always so perfect
Thank you Matt, it's really nice seeing you here!! I don't even edit my videos on a computer, but now on my iPad with Luma Fusion! Weird, isn't it :) But so far so good, I switched from Final Cut
@@eveningkid No way that's really cool!! I'll check it out! Keep making videos man they're awesome, learning a lot from you 🚀🙌 I'm excited to see your channel grow 😁
Great Video, a lot of very useful, content and everything is very well explained! It works really good on ios but having some problems on android: I had to add a gestureHandlerRootView, still items move in a erratic way. Any idea how to solve it?? thank you!
...I won't get into these oppositions! I have my style, he has his. Now I am very happy you like my videos, truly!! There are so many ideas on my mind, if only I could have more time. Thank you so much for still being around, I remember your name gonz :)
No way, you're still around! That's when you know, I care a lot about the comments! Thank you for suggesting this last time, and I hope this was helpful to you in some way (and hopefully not too late!) :)
Hey evening kid, thanks for this tutorial. I'm testing this gist on expo web, but unfortunately the drag gesture doesn't work :( . Do you have any insight on this?
I think the best way to know what's wrong (especially if this works on mobile but not on web), is to ask on Reanimated 2 repository. It will also help anyone else facing this issue :)
Great video as always! I always enjoy the content you are publishing here on RUclips. I have a question regarding FlatLists, maybe you can help me: I want to create a feed for the start page of my app. The feed should be infinitely scrollable and as resource-efficient as possible. Of course, this can all be done with the FlatList component, but I don't know how to display different types of components in the FlatList. Here is an image with an example of how I mean different types of components: i.stack.imgur.com/iIpW5.png So the layout needs to be very flexible and I don't know how to do that with a FlatList. I have already thought about Conditional Rendering, but again I am missing a way to make it work properly. Have any of you ever solved such a problem? I would be grateful for any suggestion!
Hey Hans, I'll give a try to your question (I hope I understood it right!). I think this question is very data-dependent: not sure how it looks like but if you are thinking of using FlatList, I assume you have a list of "posts" for your feed. If so, each post has a different type mentioned somewhere, correct? e.g. [{ type: 'article', metadata: ... }, { type: 'photos', ... }] Then you could have a component that "redirects" the data to the appropriate component that knows how to render a certain type of post. } /> function Post({ type, data }) { if (type === 'article') { return ; } if (type === 'photos') { return } } Now I'm starting to think you must have done this when you mentioned "conditional rendering"... But if you did, what did you mean by "missing a way to make it work properly"?
@@eveningkid So first of all, thank you for your detailed response to this individual problem! I also thought that it could work that way, but was not sure if that was the right approach. So related to performance and so on. So I just wanted to ask a person who is a bit more experienced with React Native than me. But that has cleared up all my questions now, keep up the good work!
I think you’re right, layout computation wise, this isn’t ideal. If it’s different each time, there’s not many ways of optimizing it I feel! No problems really, it’s always a pleasure to see someone taking the time to leave a comment you know. I care a lot about people, so this means a lot to me. Hope to see you around, best of luck with your app!
Cool, but not working on Android unfortunately. Upd. I've made the npm package specifically based on that tutorial. Maybe someone will find it useful too. $ npm i react-native-drag-n-drop-everywhere It works everywhere (web, iOS, Android).
Alright so, I battled with my video editor for 2 days and still couldn't export the video to high-quality! That's all I can do this time. All will be back to normal starting from the next video :)
I still haven't found someone who can explain it better than you. Its content is wonderful. Thank you for dedicating to that.
Thank you Rodrigo, really. Wow, I just have no words to answer to this, thank you. It's my pleasure to help with what I can. It means a lot to me that you take the time to share this with me (not sure I have seen you before :D). There's a lot more to come, always more to learn!
This was just what I needed. Thank you. 🙏
Looks pretty involved. Appreciate the work put in.
I was afraid of animation, earlier. But since, I watched your videos I gained much confidence in implementing it. Thank for such a great help.
Wow, this means a lot to me, really! I felt this way at some point too, you know. I hope the videos are simple enough to follow, that's my number on concern with these. Thank you for saying how you feel in the comments, it's very important for me :)
and i am in that stage. Trying to get out of it.
Great content as always!! I was looking forward to this video and can't wait to see part two. Keep up the good work!
It is so great to see you're still around Jacob! Very glad this was helpful. Thank you so much for supporting me since the very beginning :)
Veryhelpful! I learned a ton from this video, thank you!
Wow! That was a lot of content and knowledge. I finally, for the first time saw the use of a Shared Value other than Primitives. Also I didn't know about the reaction hook. Clamp function is much appreciated. Would definitely watch a couple time 😉. Waiting for the 2nd part! Great video as usual!
I was so concerned about making a video "that long", it sure was a lot in one video...! It was an interesting use case that really took advantage of different features, I'm glad you found it interesting too! "As usual", thank you for your support. Always good to have a quack quack from Apoorv :)
@@eveningkid Haha yeah thanks!
And now, let's figure out how to do the same with Flatlist! Teasing you. Great tutorial, man!
I’ll pass, I already spent a lifetime working on this one haha! You know how to torture people don’t you! Thanks for the message Vincent :)
@@eveningkid Salut ;) Is it a reason to not use a Flatlist instead of Scrollview? Maybe it could be some issues due to Flatlist optimizations or with "scrollTo" Reanimated 2 method?
After some try, I maybe can answer to myself ^^ : one possible good reason to not use FlatList is about zIndex. Each FlatList item are wrapped in a parent Item. Because of that, the zIndex of absolute positionning items will not work. ScrollView seems to be a better way than FlatList when using position:absolute for each items.
Mmh, I’m sure it’s doable, it must be all about making the right computations...but life is too short to do this in a video!
For anyone with issues on android. Try removing the animation for the card to move to the current position. e.g.
worked for me. Not quite as smooth but good enough
if (Platform.OS === "ios") {
top.value = withTiming(positionY - CARD_HEIGHT, {
duration: 16,
});
} else {
top.value = positionY - CARD_HEIGHT / 2;
}
That sounds great
Thank you so much! You are awesome! The best!!!
I had to!! I remember you commented twice for drag and sort haha I really hope this helped you...or maybe this was too late? :)
@@eveningkid It's not late. It was just for more knowledge for me and others who need this content someday. It's very hard to find. I'll use it on my works. Thanks so much again, hope u understand my english haha
Of course I do Junan! :) Best of luck with your app, I hope you’ll do good!
This is SOOOOOOOOO cool! Any idea how we can add a floating button and drag it to add to the list? It would be legendary!
Great work!
Well my guess is that you could make the button movable with a pan gesture handler, and modify the positions by adding a new id to the object as if it existed in the list. If you drop it, you then can update the list of items with a state.
That’s just on top of my mind, but I guess that would work!
Either way, thank you so much for commenting Nelson. It means a lot to me!! :)
@@eveningkid You deserve it, thank you!
Amazing stuff man! Really enjoying the content 🔥
What are you using to edit your videos and how do you get such clean animations? They're always so perfect
Thank you Matt, it's really nice seeing you here!! I don't even edit my videos on a computer, but now on my iPad with Luma Fusion! Weird, isn't it :) But so far so good, I switched from Final Cut
@@eveningkid No way that's really cool!! I'll check it out! Keep making videos man they're awesome, learning a lot from you 🚀🙌 I'm excited to see your channel grow 😁
Thank you man, really. We're in the same boat, best of luck to you too! This community really deserves great content, let's make it happen :)
Nice video, nice voice. Keep up bro!!!
Thanks a lot :)
Great Video, a lot of very useful, content and everything is very well explained! It works really good on ios but having some problems on android: I had to add a gestureHandlerRootView, still items move in a erratic way. Any idea how to solve it?? thank you!
my scoreboard: william candillon - 100 | Evening kid + 100
...I won't get into these oppositions! I have my style, he has his. Now I am very happy you like my videos, truly!! There are so many ideas on my mind, if only I could have more time. Thank you so much for still being around, I remember your name gonz :)
Good job keep going
If there is one thing hard to build with react native it must be the kanban board
This is crazy good
It’s crazy cool you’re taking time to leave a comment man. This means a lot to me, thank you :)
so you can scroll only from the right side ? so how i can apply opposite way? scroll with. 80% and drag and sort with 20%
How to handle performance issues caused by using sharedValue animations with large data sets in React Native?
Thanku so much brother Awesome👏👏👍😊
No way, you're still around! That's when you know, I care a lot about the comments! Thank you for suggesting this last time, and I hope this was helpful to you in some way (and hopefully not too late!) :)
Such a good video!
Thank you Fernando, your support is really appreciated :)
what if you want to put the row swipeable as well?
This is the exact problem I am having, I haven't figured it out
I am wondering why you stopped making animation videos.
Thanks for video
Thank you, I appreciate you :)
I'm so lost with the video. LOL
🙌🏻
🤛
u best
Is there any way to optimize the list? If the list is too large, its taking too much time to initially load the page.
Is it the same in reactJs ?
why you guys use expo
sadly some things are deprecated
Hey evening kid, thanks for this tutorial. I'm testing this gist on expo web, but unfortunately the drag gesture doesn't work :( . Do you have any insight on this?
I think the best way to know what's wrong (especially if this works on mobile but not on web), is to ask on Reanimated 2 repository. It will also help anyone else facing this issue :)
Great video as always! I always enjoy the content you are publishing here on RUclips.
I have a question regarding FlatLists, maybe you can help me:
I want to create a feed for the start page of my app. The feed should be infinitely scrollable and as resource-efficient as possible. Of course, this can all be done with the FlatList component, but I don't know how to display different types of components in the FlatList.
Here is an image with an example of how I mean different types of components:
i.stack.imgur.com/iIpW5.png
So the layout needs to be very flexible and I don't know how to do that with a FlatList. I have already thought about Conditional Rendering, but again I am missing a way to make it work properly.
Have any of you ever solved such a problem? I would be grateful for any suggestion!
Hey Hans, I'll give a try to your question (I hope I understood it right!).
I think this question is very data-dependent: not sure how it looks like but if you are thinking of using FlatList, I assume you have a list of "posts" for your feed.
If so, each post has a different type mentioned somewhere, correct? e.g. [{ type: 'article', metadata: ... }, { type: 'photos', ... }]
Then you could have a component that "redirects" the data to the appropriate component that knows how to render a certain type of post.
}
/>
function Post({ type, data }) {
if (type === 'article') {
return ;
}
if (type === 'photos') {
return
}
}
Now I'm starting to think you must have done this when you mentioned "conditional rendering"... But if you did, what did you mean by "missing a way to make it work properly"?
@@eveningkid So first of all, thank you for your detailed response to this individual problem!
I also thought that it could work that way, but was not sure if that was the right approach. So related to performance and so on.
So I just wanted to ask a person who is a bit more experienced with React Native than me.
But that has cleared up all my questions now, keep up the good work!
I think you’re right, layout computation wise, this isn’t ideal. If it’s different each time, there’s not many ways of optimizing it I feel!
No problems really, it’s always a pleasure to see someone taking the time to leave a comment you know.
I care a lot about people, so this means a lot to me. Hope to see you around, best of luck with your app!
Cool, but not working on Android unfortunately.
Upd. I've made the npm package specifically based on that tutorial.
Maybe someone will find it useful too. $ npm i react-native-drag-n-drop-everywhere
It works everywhere (web, iOS, Android).