import React, { Component } from "react" import Swiper from "swiper" import "./index.scss" import "swiper/dist/css/swiper.min.css" import { Link } from "react-router-dom" class Index extends Component { container = null swiper = null componentDidMount() { if (this.props.bannerList.length > 1) { this.swiper = new Swiper(".swiper-container", { direction: "horizontal", loop: true, spaceBetween: 12, centeredSlides: true, slidesPerView: "auto", loopedSlides: 3, autoplay: true, }) } } componentWillUnmount() { this.swiper && this.swiper.destroy() } render() { const { bannerList } = this.props return ( <div className={"index-banner-swiper"}> <div className={"swiper-container"} ref={(el) => (this.container = el)}> <ul className="swiper-wrapper"> {bannerList && bannerList.length > 0 && bannerList.map((item, index) => { return ( <li className={"swiper-slide"} key={index}> {Number.isNaN(parseInt(item.jump_url)) ? ( <a href={item.jump_url} key={index}> <img className="item" src={item.name} alt="" /> </a> ) : ( <Link to={{ pathname: "/detail", search: `?id=${item.jump_url}`, }} key={index} > <img className="item" src={item.name} alt="" /> </Link> )} </li> ) })} </ul> </div> </div> ) } } export default Index