reactjs中如何使用swiper.js

reactjs中如何使用swiper.js的这个效果
图片描述

main.jsx如下:

import $ from 'jquery';
import './js/swiper.jquery.min.js';
import React from 'react';
import {render} from 'react-dom';

var shell = document.createElement('div');
shell.id = 'mainDiv';
document.body.appendChild(shell);
//添加meta标签
let oMeta = document.createElement('meta');
oMeta.name = "viewport";
oMeta.content="width=device-width,initial-scale=1.0";
document.getElementsByTagName('head')[0].appendChild(oMeta);

var MainBox = React.createClass({
    render: function() {
        return (
    <div>
    <link rel="stylesheet" href="src/stylesheets/style.css"/>
    <link rel="stylesheet" href="src/stylesheets/swiper.min.css"/>
    <div className="swiper-container">
        <div className="swiper-wrapper">
            <div className="swiper-slide">Slide 1</div>
            <div className="swiper-slide">Slide 2</div>
            <div className="swiper-slide">Slide 3</div>
            <div className="swiper-slide">Slide 4</div>
            <div className="swiper-slide">Slide 5</div>
            <div className="swiper-slide">Slide 6</div>
            <div className="swiper-slide">Slide 7</div>
            <div className="swiper-slide">Slide 8</div>
            <div className="swiper-slide">Slide 9</div>
            <div className="swiper-slide">Slide 10</div>
        </div>
        <div className="swiper-pagination"></div>
    </div>
    </div>
        );
    }
});
render(<MainBox/>, document.getElementById('mainDiv')
);
$(document).ready(function () {
var swiper = new Swiper('.swiper-container', {
    pagination: '.swiper-pagination',
    paginationClickable: true,
    direction: 'vertical'
});
});

浏览器显示的效果不对
图片描述

阅读 16k
7 个回答

你加swiper的样式了没有?

你需要在react的生命周期内去写这些操作
具体应该是dom已经同步到网页
方法名称我忘记了

看swiper4.0的文档
clipboard.png
应该是
clipboard.png

新手上路,请多包涵

文章太老了,我照搬的时候踩了不少坑, swiper的设置得在 componentDidMount写

新手上路,请多包涵

npm install swiper 的方法不好用 我使用引入cdn的方式引入 然后写到组件当中 中间有很多坑图片描述

图片描述

但是这种方式貌似只支持 静态轮播内容 请求的数据map遍历后就出现这个问题图片描述
图片是多张 因为map时<img className="swiper-slide"> 只有一个 所以渲染出来只有一个下标 不能轮播 可以拖动

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题