npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

react-native-swipe-render

v3.1.1

Published

An easy and simple to use React Native component that renders swipable performant pages for large lists or content. Supporting both iOS and Android. Free and made possible along with costly maintenance and updates by [Lue Hang](https://www.facebook.com/

Downloads

554

Readme

An easy and simple to use React Native component that renders swipable performant pages for large lists or content. Supporting both iOS and Android. Check out the docs.

  • Supports smart or minimal rendering for large lists.
  • Supports two ways of rendering contents. Render using function and data or render React.Element children.
  • Horizontal and vertical paging for both Android and iOS.
  • Initial index can be placed anywhere. Supporting both Android and iOS.
  • Dynamic index support for iOS.
  • Optional slide looping.
  • Optional automatic slides.
  • Optional alternative usage with Android ScrollView instead of ViewPagerAndroid.
  • Supports both iOS and Android.

:link: Quick Links


:gem: Install

Type in the following to the command line to install the module.

$ npm install --save react-native-swipe-render

or

$ yarn add react-native-swipe-render

:tada: Usage Example One

Add an import to the top of the file. At minimal, place array data into the data prop and render the pages using the renderItem prop.

If you like react-native-swipe-render, please be sure to give it a star at GitHub. Thanks.

import SwipeRender from "react-native-swipe-render";
import { View, Image } from "react-native";

//...
render() {
    return (
        <SwipeRender
            data={[
                { uri: "https://luehangs.site/pic-chat-app-images/pexels-photo-853168.jpeg" },
                { uri: "https://luehangs.site/pic-chat-app-images/animals-avian-beach-760984.jpg" },
                { uri: "https://luehangs.site/pic-chat-app-images/beautiful-beautiful-woman-beauty-9763.jpg" },
                { uri: "https://luehangs.site/pic-chat-app-images/photo-755745.jpeg" },
                { uri: "https://luehangs.site/pic-chat-app-images/photo-799443.jpeg" }
            ]}
            renderItem={({ item, index }) => {
                return (
                    <View key={"SwipeRender-slide#" + index} style={{flex: 1, backgroundColor: "#000"}}>
                        <Image
                            source={{ uri: item.uri }}
                            style={{flex: 1}}
                            resizeMode="contain"
                        />
                    </View>
                );
            }}

            // OPTIONAL PROP USAGE.
            index={0} // default 0
            loop={false} // default false
            loadMinimal={true} // default false
            loadMinimalSize={2}
            horizontal={true} // default true

            enableAndroidViewPager={false} // default ScrollView
            // TO ENABLE AndroidViewPager:
            // react-native >= 0.60 - install @react-native-community/viewpager separately
            // react-native < 0.60 - ready to go!
        />
    );
}
//...

:tada: Usage Example Two

Add an import to the top of the file. At minimal, wrap any view in the <SwipeRender></SwipeRender>.

If you like react-native-swipe-render, please be sure to give it a star at GitHub. Thanks.

import SwipeRender from "react-native-swipe-render";
import { View, Image, Text } from "react-native";

//...
render() {
    return (
        <SwipeRender
            // OPTIONAL PROP USAGE.
            index={0} // default 0
            loop={false} // default false
            loadMinimal={true} // default false
            loadMinimalSize={2}
            horizontal={true} // default true

            enableAndroidViewPager={false} // default ScrollView
            // TO ENABLE AndroidViewPager:
            // react-native >= 0.60 - install @react-native-community/viewpager separately
            // react-native < 0.60 - ready to go!
        >
            <View style={{flex: 1, backgroundColor: "#000"}}>
                <Image
                    source={{ uri: "https://luehangs.site/pic-chat-app-images/pexels-photo-853168.jpeg" }}
                    style={{flex: 1}}
                    resizeMode="contain"
                />
            </View>
            <View style={{flex: 1, justifyContent: "center", alignItems: "center"}}>
                <Text style={{color: "blue", fontSize: 25, fontWeight: "bold"}}>
                    Any kind of View
                </Text>
            </View>
            <View style={{flex: 1, backgroundColor: "#000"}}>
                <Image
                    source={{ uri: "https://luehangs.site/pic-chat-app-images/beautiful-beautiful-woman-beauty-9763.jpg" }}
                    style={{flex: 1}}
                    resizeMode="contain"
                />
            </View>
        </SwipeRender>
    );
}
//...

:watch: Performance Optimization List Example

If you like react-native-swipe-render, please be sure to give it a star at GitHub. Thanks.

import SwipeRender from "react-native-swipe-render";
import { View, Image } from "react-native";

//...
render() {
    return (
        <SwipeRender
            data={[
                { uri: "https://luehangs.site/pic-chat-app-images/pexels-photo-853168.jpeg" },
                { uri: "https://luehangs.site/pic-chat-app-images/animals-avian-beach-760984.jpg" },
                { uri: "https://luehangs.site/pic-chat-app-images/beautiful-beautiful-woman-beauty-9763.jpg" },
                { uri: "https://luehangs.site/pic-chat-app-images/photo-755745.jpeg" },
                { uri: "https://luehangs.site/pic-chat-app-images/photo-799443.jpeg" },
                // Test with 100s to 1000s of data to be rendered
                // ...
                // ...
                // ...
            ]}
            renderItem={({ item, index }) => {
                return (
                    <View key={index} style={{flex: 1, backgroundColor: "#000"}}>
                        <Image
                            source={{ uri: item.uri }}
                            style={{flex: 1}}
                            resizeMode="contain"
                        />
                    </View>
                );
            }}
            index={3} // Initial index can be placed anywhere.  Dynamic index support for only iOS.
            loadMinimal={true}
            loadMinimalSize={2}
            removeClippedSubviews={true}
        />
    );
}
//...

:book: Full Documentation

Learn more about the installation and how to use this package in the updated documentation page.


:clap: Contribute

Pull requests are welcomed.

:tophat: Contributors

Contributors will be posted here.

:baby: Beginners

Not sure where to start, or a beginner? Take a look at the issues page.

:page_facing_up: License

MIT © Lue Hang, as found in the LICENSE file.