最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

react-native封裝插件swiper的使用方法

 更新時間:2018年03月20日 10:28:58   作者:sunshinezhong  
這篇文章主要介紹了react-native封裝插件swiper的使用方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

首先創(chuàng)建簡單的react-native項目,創(chuàng)建一個文件夾。然后用命令符輸入

react-native init swiper

創(chuàng)建完成之后開發(fā)項目,我用的vs

打開控制臺,安裝swiper依賴。

安裝:npm i react-native-swiper --save
查看:npm view react-native-swiper
刪除:npm rm react-native-swiper --save
這里還需要 npm i 下更新下本地的依賴庫

啟動app項目

ios: react-native run-ios
android: react-native run-android

開始上碼,在src里面創(chuàng)建個components文件夾下邊創(chuàng)建個swiper.js文件,以及index.js,加上說明文檔

import PropTypes from 'prop-types';
import React, { Component } from 'react';
import { StyleSheet, TouchableWithoutFeedback, View } from 'react-native';
import RNSwiper from 'react-native-swiper';

const styles = StyleSheet.create({
 activeDotWrapperStyle: {
  //圓點樣式
 },
 activeDotStyle: {
  //圓點樣式
 },
 dotStyle: {
  //圓點樣式
 }
});

const activeDot = (
 <View style={styles.activeDotWrapperStyle}>
  <View style={styles.activeDotStyle} />
 </View>
);
const dot = <View style={styles.dotStyle} />;

export class Carousel extends Component {
 // Define component prop list
 static propTypes = {
  data: PropTypes.array,
  height: PropTypes.number,
  onPressItem: PropTypes.func,
  renderItem: PropTypes.func.isRequired,
  autoplay: PropTypes.bool,
  autoplayTimeout: PropTypes.number
 };

 // Define props default value
 static defaultProps = {
  data: [],
  height: 150,
  autoplay: true,
  autoplayTimeout: 2.5,
  onPressItem: () => {},
  renderItem: () => {}
 };

 // Define inner state
 state = {
  showSwiper: false
 };

 constructor(props) {
  super(props);
  this.handleItemPress = this.handleItemPress.bind(this);
 }

 componentDidMount() {
  setTimeout(() => {
   this.setState({ showSwiper: true });
  });
 }

 handleItemPress(item) {
  this.props.onPressItem(item);
 }

 _renderSwiperItem(item, index) {
  return (
   <TouchableWithoutFeedback key={index} onPress={() => this.handleItemPress(item)}>
    <View style={[{ flex: 1 }]}>{this.props.renderItem(item)}</View>
   </TouchableWithoutFeedback>
  );
 }

 render() {
  return this.props.data.length === 0 || !this.state.showSwiper ? null : (
   <RNSwiper
    height={this.props.height} //圖片高度
    activeDot={activeDot} 
    dot={dot}
    style={{ backgroundColor: '#fff' }}
    autoplay={this.props.autoplay} //是否自動輪播
    autoplayTimeout={this.props.autoplayTimeout} //輪播秒數(shù)
   >
    {this.props.data.map((item, idx) => this._renderSwiperItem(item, idx))} //如果數(shù)據(jù)是個對象里面的數(shù)組加一個循環(huán)
   </RNSwiper>
  );
 }
}

這是index.js文件

import { Carousel } from './carousel/Carousel';

export { Carousel };

公共組件庫

這里用于放置與業(yè)務(wù)無關(guān)的公共組件。組件實現(xiàn)必須考慮靈活性,擴展性,不能包含具體的業(yè)務(wù)邏輯。

組件必須以 你做的業(yè)務(wù)命名 為前綴,如 TryCarousel.js 。每個組件必須單獨放在目錄中,目錄必須全小寫(中橫線分割),如 carousel/TryCarousel.js 。

一個基本的組件結(jié)構(gòu):

import PropTypes from 'prop-types';
import React, { Component } from 'react';

export class TryCarousel extends Component {
 // Define component prop list
 static propTypes = {};

 // Define props default value
 static defaultProps = {};

 // Define inner state
 state = {};

 constructor(props) {
  super(props);
 }

 // LifeCycle Hooks

 // Prototype Functions

 // Ensure the latest function is render
 render() {}
}

組件列表

carousel(輪播組件)

主要用于通用的圖片輪播,能夠提供點擊事件響應(yīng)。

Usage:

Props:

屬性 描述 類型 默認值
data Carousel數(shù)據(jù)源 Array -
height Carousel的高度 number 150
onPressItem 點擊Carousel Item的時候觸發(fā) fn -
renderItem 具體的渲染Item的方法,請參考FlatList fn -
autoplay 是否自動切換 bool true
autoplayTimeout Item自動切換的時間間隔(單位s) number 2.5

需要導(dǎo)入的地方

import { HigoCarousel } from '../../components';
<Carousel
      data={} //接受的數(shù)據(jù)
      onPressItem={} //點擊事件
      height={} //圖片高度
      autoplay={} //是否自動播放
      autoplayTimeout={} //過渡時間
      renderItem={item => {
       return <Image source={{ uri: item.imageSource }} style={{ flex: 1 }} />;
      }} //圖片
/>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • React如何使用create-react-app創(chuàng)建react項目

    React如何使用create-react-app創(chuàng)建react項目

    這篇文章主要介紹了React如何使用create-react-app創(chuàng)建react項目問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 深入理解React高階組件

    深入理解React高階組件

    本篇文章主要介紹了深入理解React高階組件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • React報錯Element type is invalid解決案例

    React報錯Element type is invalid解決案例

    這篇文章主要為大家介紹了React報錯Element type is invalid解決案例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • 從零開始學(xué)習(xí)搭建React腳手架項目

    從零開始學(xué)習(xí)搭建React腳手架項目

    這篇文章主要介紹了從零開始學(xué)習(xí)搭建React腳手架項目,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • React狀態(tài)管理的簡明指南

    React狀態(tài)管理的簡明指南

    Redux 是React最常用的集中狀態(tài)管理工具,本文主要介紹了React狀態(tài)管理的簡明指南,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • React+JWT登錄界面實現(xiàn)的完整流程

    React+JWT登錄界面實現(xiàn)的完整流程

    React是一個用于渲染用戶界面的JavaScript工具庫,UI是由類似按鈕、文本框以及圖片之類的小零件構(gòu)成的,這篇文章主要介紹了React+JWT登錄界面實現(xiàn)的完整流程,需要的朋友可以參考下
    2026-04-04
  • 詳解如何在React中有效地監(jiān)聽鍵盤事件

    詳解如何在React中有效地監(jiān)聽鍵盤事件

    React是一種流行的JavaScript庫,用于構(gòu)建用戶界面,它提供了一種簡單而靈活的方式來創(chuàng)建交互式的Web應(yīng)用程序,在React中,我們經(jīng)常需要監(jiān)聽用戶的鍵盤事件,以便根據(jù)用戶的輸入做出相應(yīng)的反應(yīng),本文將向您介紹如何在React中有效地監(jiān)聽鍵盤事件,并展示一些常見的應(yīng)用場景
    2023-11-11
  • React實現(xiàn)導(dǎo)出excel文件的操作步驟

    React實現(xiàn)導(dǎo)出excel文件的操作步驟

    在React項目的TypeScript文件中,因為原生的JavaScript或TypeScript并沒有提供直接的Excel導(dǎo)出功能,常用的Excel導(dǎo)出方法通常涉及使用第三方庫,本文介紹了React實現(xiàn)導(dǎo)出excel文件的操作步驟,需要的朋友可以參考下
    2024-12-12
  • react代碼分割的三種實現(xiàn)方法

    react代碼分割的三種實現(xiàn)方法

    React代碼分割主要是為了優(yōu)化首屏加載速度,避免一次性加載整個應(yīng)用,把代碼拆分成多個bundle,按需加載,下面就一起來了解一下,感興趣的可以了解一下
    2025-09-09
  • React中合成事件的實現(xiàn)

    React中合成事件的實現(xiàn)

    React合成事件是對瀏覽器原生事件的封裝,提供跨瀏覽器一致性API,采用事件委托機制提升性能,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-09-09

最新評論

平昌县| 峨山| 砀山县| 绥德县| 甘肃省| 喜德县| 梨树县| 阿勒泰市| 搜索| 仁怀市| 元氏县| 德化县| 土默特右旗| 荔波县| 丰宁| 长春市| 汉寿县| 武冈市| 崇文区| 长沙市| 湖南省| 海阳市| 绥芬河市| 惠安县| 锡林浩特市| 海阳市| 通渭县| 神农架林区| 金门县| 昆明市| 浪卡子县| 昂仁县| 赣榆县| 铜川市| 邓州市| 乌恰县| 龙岩市| 个旧市| 广灵县| 资兴市| 板桥市|