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-swiper-hooks

v1.3.8

Published

A powerful Swiper hooks component for React Native

Downloads

11

Readme

Hello, folks!

🦄 This is a powerful Swiper hooks component for React Native

✨ 为React Native开发的Swiper Hooks组件

📚 Welcomes to provide your valuable comments or suggestions by 'Issues' or my contact information

✨ 欢迎通过”issues“或我的联系方式,为我提供宝贵意见

👨🏻‍💻 Powered by Voyz Shen ✨ Shanghai Jiao Tong University, Ctrip

Catalog


How to use

  • installation
npm i react-native-swiper-hooks --save
  • import
import Swiper from 'react-native-swiper-hooks'
  • use it
...
const _renderList = ()=>{
  let listData = [
      {
        title:'1',
        bgColor:'#f00'
      },
      {
        title:'2',
        bgColor:'#0f0'
      },
      {
        title:'3',
        bgColor:'#00f'
      },
    ]
    return (
      listData.map((item,idx)=>{
        return (
          <View style={{width:WIDTH,height:300,backgroundColor:item.bgColor,justifyContent: 'center',alignItems: 'center'}} key={idx}>
              <Text>{item.title}</Text>
          </View>
        )
      })
    )
}

...

<Swiper height={300}
        autoplay={true}
        loop={true}
        showPagination={true}
        >
  {_renderList()}
</Swiper>

...
  • update
npm update react-native-swiper-hooks

Demo

transform-mode ↓

transformMode

width={WIDTH}
autoplay={false}
initIndex={0}
loop = {false}
showPagination = {false}
transformMode={true}
transformModeMinSize={174}
transformModeMaxSize={_rightViewHeight}

autoplay ↓

autoplay

height={300}
paginationSelectedColor={'#CCFF66'}
autoplay={true}
loop={true}
showPagination={true}
direction={'row'}

non-autoplay ↓

non_autoplay.gif

height={300}
paginationSelectedColor={'#CCFF66'}
autoplay={false}
loop={true}
showPagination={true}
direction={'row'}

non-loop ↓

non_loop.gif

height={300}
paginationSelectedColor={'#CCFF66'}
autoplay={false}
loop={false}
showPagination={true}
direction={'row'}

vertical scrolling ↓

vertical_scrolling.gif

height={300}
paginationPosition={'left'}
paginationSelectedColor={'#CCFF66'}
autoplay={true}
loop={true}
showPagination={true}
direction={'column'}

diff Size ↓

swiper5.gif

height={300}
childWidth={WIDTH-100}
paginationSelectedColor={'#CCFF66'}
autoplay={true}
loop={true}
showPagination={true}
direction={'row'}

(child:{width=WIDTH-100})

init Index ↓

swipe6.gif

height={300}
initIndex={1}
showPagination={false}

Properties

pagination-shower.jpg

- Basic -

|Prop|Default|Options|Type|Description| |:---|:--:|:--:|:--:|:---| |width|[width of screen]|/|Number|Width of the Swiper container| |||||容器宽度| |height|[height of screen]|/| Number |Height of the Swiper container| |||||容器高度| |childWidth|/|/|Number|Width of the child component(when width of container and child component)| |||||子元素宽度(当子元素宽度与容器宽度不同时传此参数)| |childHeight|/|/|Number|Width of the child component(when height of container and child component)| |||||子元素高度(当子元素宽度与容器高度不同时传此参数)| |boxBackgroundColor|/|/|Color|Background color of the Swiper container| |||||容器背景颜色| |outerContainerStyle|{}|/|Object|style of the outer container| |||||外层容器样式| |initIndex|0|/|Number|Index of the init child| |||||初始页| |scrollToIndex|0|/|Number|scroll to the child| |||||参数控制滚动至某子元素| |scrollToIndexWithAnimate|false|true/false|Boolean|scroll to the child with Animtion| |||||参数控制滚动至某子元素时是否开启动画| |scrollDuration|300|/|Number|(Android only)Duration (ms) on page turning| |||||翻页滚动持续时间| |direction|'row'|'row' / 'column'|String|Direction of the scrolling | |||||滚动方向| |minOffset|10|/|Number| Threshold of scroll distance for page turning| |||||翻页的滚动阈值| |autoplay|true|true / false|Boolean|Enable autoplay | |||||是否自动播放| |loop|true|true / false|Boolean|Enable loop mode | |||||是否循环滚动| |autoplayGapTime|3|/|Number|second between autoplay transitions| |||||自动播放时间间隔| |autoplayDirection|true|true / false|Boolean| Enable forward direction when autoplay| |||||是否正向自动播放| |scrollEnabled|true|true / false|Boolean|Enable hand-rolling | |||||是否可以手动滚动| |animated|true|true / false|Boolean|Enable smooth scrolling animation| |||||是否开启滚动动画| |bounces|true|true / false|Boolean|Enable pull flexibly when you scroll to the head and tail| |||||到达首尾时是否可以弹性拉动一截| |transformMode|false|true / false|Boolean|In this mode,size will change between transformModeMinSize and transformModeMaxSize while scrolling| |||||是否开启变形模式| |transformModeMinSize|[height of screen]|/|Number|(transformMode = true only) min size| |||||变形模式下最小尺寸| |transformModeMaxSize|[height of screen]|/|Number|(transformMode = true only) max size| |||||变形模式下最大尺寸|

- Pagination -

|Prop|Default|Options|Type|Description| |:---|:--:|:--:|:--:|:---| |showPagination|true|true / false|Boolean|Enable pagination shower | |||||是否显示页码器| |paginationDirection|'bottom'|'bottom' / 'top' / 'left' / 'right' |String|Position of the pagination| |||||页码器位置| |paginationOffset|5|/|Number|Distance between pagination shower and side| |||||页码器距边距离| |paginationUnselectedSize|6|/|Number|Size of the point (non-current)| |||||提示点大小(非当前页)| |paginationSelectedSize|10|/|Number|Size of the point (current)| |||||提示点大小(当前页)| |paginationUnselectedColor|'#FFFFFF'|/|Color|Color of the point (non-current)| |||||提示点颜色(非当前页)| |paginationSelectedSize|'#000000'|/|Color|Color of the point (current)| |||||提示点颜色(当前页)|

Functions

- callback -

|Func|Params|Type| Description | |:---|:--:|:--:|:---| |onPaginationChange|index|Number|Retrun the index of current page when it changes| ||||页码改变时返回当前页码索引| |onScrollBeginDrag|nativeEvent|Object|Callback on scroll begin drag| ||||开始拖动时的回调函数| |onScrollEndDrag| nativeEvent | Object |Callback on scroll end drag| ||||结束拖动时的回调函数| |getScrollDistance| / | int |get distance on scrolling| ||||获取手动滚动距离| |getChildrenOnPageinationChange| / | int |get JSX Array of Children| ||||获取JSX数组| |getTransformModeCurrSize| / | int |get current size in transform-mode| ||||变形模式下获取尺寸值|

Versions

  • v1.3.8

[优化] 安卓不触发onScrollEndDrag时增加防抖逻辑

  • v1.3.5

[添加新参数] outerContainerStyle: 外层容器样式

  • v1.3.4

[添加新参数] scrollToIndexWithAnimate:参数控制滚动至某子元素时是否开启动画

  • v1.3.0

[bug修复]【安卓】防止滑动停止未触发_onScrollEndDrag

  • v1.3.0

[新功能] 添加变形模式

  • v1.2.9

[bug修复] scrollto参数保护

  • v1.2.8

[修复] getScrollDistance纵向滚动距离修复

  • v1.2.6

[添加新参数] (安卓) scrollDuration: 翻页滚动持续时间

  • v1.2.5

[性能优化] 手动滚动时暂停自动滚动的计时器

  • v1.2.4

[性能优化] 避免scrollToIndex与自动播放的冲突

  • v1.2.3

[添加新方法] getChildrenOnPageinationChange获取JSX数组

  • v1.2.2

[添加新参数] scrollToIndex参数控制滚动至某子元素

  • v1.2.1

[添加新方法] 获取手动滚动距离 [性能优化] 优化手动滚动时与自动滚动的冲突

  • v1.2.0

[添加新功能] 允许swiper内子元素尺寸与容器尺寸不同

  • v1.1.3

[性能优化] 修复页码器更新延迟
[bug修复] 修复循环模式下翻页至页尾时的bug

  • v1.1.2

更新文档

  • v1.1.1

[bug修复] 修复安卓循环模式下翻页闪屏问题

  • v1.1.0

组件项目迁移