Maison > interface Web > js tutoriel > le corps du texte

Comment utiliser le swiper du plug-in du package React-Native

亚连
Libérer: 2018-05-25 16:43:35
original
2098 Les gens l'ont consulté

Cet article présente principalement comment utiliser le swiper du plug-in d'emballage React-Native. Maintenant, je le partage avec vous et le donne comme référence.

Créez d’abord un simple projet natif de réaction et créez un dossier. Utilisez ensuite le caractère de commande pour saisir

react-native init swiper
Copier après la connexion

Une fois la création terminée, je développe le projet que j'utilise vs

<🎜. >

Ouvrez la console et installez les dépendances swiper.

Installer : npm i réagis-native-swiper --save

Afficher : npm view réagir-native-swiper
Supprimer : npm rm réagir-native-swiper --save
Aussi ici Besoin de mettre à jour la bibliothèque de dépendances locale sous npm i

Démarrer le projet d'application

ios : react-native run-ios

android : react-native run-android

Démarrez le codage, créez un fichier swiper.js sous le dossier des composants dans src et index.js, ainsi que la documentation

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

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: &#39;#fff&#39; }}
    autoplay={this.props.autoplay} //是否自动轮播
    autoplayTimeout={this.props.autoplayTimeout} //轮播秒数
   >
    {this.props.data.map((item, idx) => this._renderSwiperItem(item, idx))} //如果数据是个对象里面的数组加一个循环
   </RNSwiper>
  );
 }
}
Copier après la connexion

Voici le fichier index.js


import { Carousel } from &#39;./carousel/Carousel&#39;;

export { Carousel };
Copier après la connexion

Bibliothèque de composants publics

est utilisé pour placer des composants publics qui n'ont rien à voir avec l'entreprise. La mise en œuvre des composants doit prendre en compte la flexibilité et l'évolutivité, et ne peut pas contenir de logique métier spécifique.

Le composant doit être préfixé par le nom de l'entreprise que vous exercez, par exemple TryCarousel.js. Chaque composant doit être placé dans un répertoire distinct et le répertoire doit être entièrement en minuscules (séparés par des tirets), tel que carousel/TryCarousel.js.

Une structure de composants de base :

import PropTypes from &#39;prop-types&#39;;
import React, { Component } from &#39;react&#39;;

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() {}
}
Copier après la connexion

Liste des composants

carrousel (composant carrousel)

est principalement utilisé pour le carrousel d'images général et peut fournir une réponse à un événement de clic.

Utilisation :

Accessoires :


属性描述类型默认值
dataCarousel数据源Array-
heightCarousel的高度number150
onPressItem点击Carousel Item的时候触发fn-
renderItem具体的渲染Item的方法,请参考FlatListfn-
autoplay是否自动切换booltrue
autoplayTimeoutItem自动切换的时间间隔(单位s)number2.5
Où importer

import { HigoCarousel } from &#39;../../components&#39;;
<Carousel
      data={} //接受的数据
      onPressItem={} //点击事件
      height={} //图片高度
      autoplay={} //是否自动播放
      autoplayTimeout={} //过渡时间
      renderItem={item => {
       return <Image source={{ uri: item.imageSource }} style={{ flex: 1 }} />;
      }} //图片
/>
Copier après la connexion

J'ai compilé ce qui précède pour vous, j'espère que cela vous sera utile à l'avenir.

Articles connexes :

Analyse du chargement asynchrone Ajax

Composition technologique Ajax et analyse des principes de base

À propos du flux de sortie à la fin du servlet en technologie Ajax

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!