2

我正在使用 React Js 和 Swiper Js 来获得与 LINK 相同的效果。但由于某种原因,我无法在其中实现任何效果或分页。

我的组件文件夹中有 Card.js:


import React from 'react';
import 'swiper/swiper-bundle.js'
import 'swiper/swiper-bundle.min.js'
import 'swiper/swiper-bundle.css';
import 'swiper/swiper-bundle.min.css';
import './Card.css';
import Swiper from 'swiper';



class Card extends React.Component{
    componentDidMount(){

      var swiper = new Swiper('.swiper-container', {
        pagination: '.swiper-pagination',
        effect: 'coverflow',
        grabCursor: true,
        centeredSlides: true,
        slidesPerView: 'auto',
        coverflow: {
          rotate: 50,
          stretch: 0,
          depth: 100,
          modifier: 1,
          slideShadows : true
        },
        loop: true
      });
    }
    render(){
        return(
          <div class="swiper-container">
          <div class="swiper-wrapper">
            <div class="swiper-slide"><img src="http://lorempixel.com/600/600/nature/1"/></div>
            <div class="swiper-slide"><img src="http://lorempixel.com/600/600/nature/2"/></div>
            <div class="swiper-slide"><img src="http://lorempixel.com/600/600/nature/3"/></div>
          </div>
          <div class="swiper-pagination"></div>
        </div>
        );
    }
}


export default Card

我尝试使用 this.swiper 初始化仍然没有锻炼。

我的CSS有:


body {
  background: #fff;
  font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
  font-size: 14px;
  color:#000;
  margin: 0;
  padding: 0;
}
.swiper-container {
  width: 100%;
  padding-top: 50px;
  padding-bottom: 50px;
}
.swiper-slide {
  background-position: center;
  background-size: cover;
  width: 300px;
  height: 300px;
}

它仅以幻灯片的形式出现在彼此相邻的图像上,没有应用任何效果。滑动时没有覆盖流效果。我是否错过了任何进口或我做错了什么。谁能帮我解决这个问题。

它在独立的 html 页面中运行良好。

4

1 回答 1

3

你应该使用 NPM 包swiper而不是普通的 JS 版本。实现目标所需的一切都在此页面上

请记住——“默认情况下,Swiper React 使用 Swiper 的核心版本(没有任何附加组件)。如果要使用 Navigation、Pagination 和其他组件,则必须先安装它们。”

要安装非核心组件:

SwiperCore.use([Navigation, Pagination, Scrollbar, A11y]);

于 2020-09-22T06:32:23.167 回答