[Help wanted] Looking for maintainers
See original GitHub issueThank you very much for considering becoming a maintainer! The fact that you’re willing to take some time to make this plugin even better is really appreciated 👍
I’m not going to lie to you though: there’s work to be done. If you want to apply, please follow the following steps:
- Read this post entirely.
- Post a message in this thread that explains who you are, why you’re considering it, what’s your experience, etc. Nothing fancy, just a quick presentation that allows us to know you better.
- Make sure to tag me (@bd-arc) so that I actually receive your message.
- 🎉 Big bonus points for people who also send a polished PR that addresses one of the points below.
⚠️ Warning
People have lots of expectations about this plugin — it’s currently downloaded more than 250,000 times every single month. So please do not apply if:
- you don’t have an amazing work ethic
- you don’t really have time to take care of it
- you lack coding experience
- you’re not proficient in English.
🏆 Most required updates
Here are, ranged by order of importance, the most important updates the plugin currently requires.
1. Ditch ScrollView
and FlatList
, and implement a custom scroll logic based on react-native-gesture-handler
and react-native-reanimated
This is, by far, the most important step to be taken at this point. It will open the road to a whole new level of features and user experience: total control over the scroll behavior, proper callback mechanism, better loop mode, better animations, better performance, proper RTL mode, no more “trailing slide whitespace”, no visual differenciation between iOS and Android with the advanced animations, and, most importantly, no more FlatList
issues to deal with 🙏
By itself, this update will solve approximately 90 % of the currently opened issues!
While it may seem like a daunted task, it happens that the folks at Software Mansion have created their own version of the carousel that does just that, and they are totally open to sharing their work (in fact, react-native-snap-carousel
served as an inspiration for them). They’ve laid out a great base that just need to be improved and tailored to this plugin’s needs.
Note that the idea is not to use their plugin because:
- it lacks a few important features;
- from their own admittance, it is still immature;
- the hundreds of developers actively engaged with our plugin will help improving it faster.
Next steps
- Take a look at this discussion — a few key points to keep in mind are mentioned there.
- Take a look at this repo — this will serve as a great starting point.
- Update the carousel’s inner logic while making sure all the features are preserved. (Again, the
react-native-pager
plugin is not to be imported, only to be used as a reference.) - Progressively improve it thanks to user feedback and other developer’s help.
2. Take care of miscellaneous bugs introduced in 3.8.x
- See #513, #552, #559, #615…
- See the release notes; one (or maybe more) of those commits is to blame…
3. Handle dynamic data (addition/removal of items)
4. Prevent unneeded rerenders
5. Implement React hooks
6. Update examples
- See #257
Issue Analytics
- State:
- Created 4 years ago
- Reactions:25
- Comments:22 (8 by maintainers)
Top GitHub Comments
@bd-arc Hello there👋, I saw this issue and I’d love to stand up and maintain this repository.
Who I am
I’m a full-stack developer currently living in Japan. I’m an American and lived there for more than half of my life so English will not be a problem.
Reason for consideration
My goal is to be part of the react-native-community org, and being a maintainer for a popular react-native library will be a big step up for me.
I’m also using this library for few of my projects at work, so having a maintainer would be quite nice.
my love and passion for React-native 😉
Experience
3 years of experience in React 2 years of development in React Native Made few contributions to react-native related package including but not limited to:
react-native
itself,react-native-elements
,@types/react-native
,react-navigation
etc.I’m going to attempt the implementation with
react-native-gesture-handler
andreact-native-reanimated
in the course of next few days to see if I am capable of maintaining this package.I’ve made a PR #636 to upgrade the
example
so that this package can be tested from theexample
.Just made the shiny new beta public. To everyone who has a keen interest in the plugin: I’d love your feedback 😉
Click here to learn everything about the upcoming v4!